mirror of
				https://github.com/liberatedsystems/openCom-Companion.git
				synced 2025-07-08 05:07:21 +02:00 
			
		
		
		
	Added lxmd telemetry plugin to examples
This commit is contained in:
		
							parent
							
								
									ebc4462a50
								
							
						
					
					
						commit
						a812f0a589
					
				
							
								
								
									
										41
									
								
								docs/example_plugins/lxmd_telemetry.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								docs/example_plugins/lxmd_telemetry.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					# This is an LXMd telemetry plugin that
 | 
				
			||||||
 | 
					# queries a running LXMF Propagation Node
 | 
				
			||||||
 | 
					# for status and statistics.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import RNS
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class LXMdTelemetryPlugin(SidebandTelemetryPlugin):
 | 
				
			||||||
 | 
					    plugin_name = "lxmd_telemetry"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def start(self):
 | 
				
			||||||
 | 
					        # Do any initialisation work here
 | 
				
			||||||
 | 
					        RNS.log("LXMd telemetry plugin starting...")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # And finally call start on superclass
 | 
				
			||||||
 | 
					        super().start()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def stop(self):
 | 
				
			||||||
 | 
					        # Do any teardown work here
 | 
				
			||||||
 | 
					        pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # And finally call stop on superclass
 | 
				
			||||||
 | 
					        super().stop()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def update_telemetry(self, telemeter):
 | 
				
			||||||
 | 
					        if telemeter != None:
 | 
				
			||||||
 | 
					            if not "lxmf_propagation" in telemeter.sensors:
 | 
				
			||||||
 | 
					                # Create lxmd status sensor if it is not already
 | 
				
			||||||
 | 
					                # enabled in the running telemeter instance
 | 
				
			||||||
 | 
					                telemeter.enable("lxmf_propagation")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                # Set the identity file used to communicate with
 | 
				
			||||||
 | 
					                # the running LXMd instance.
 | 
				
			||||||
 | 
					                telemeter.sensors["lxmf_propagation"].set_identity("~/.lxmd/identity")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                # You can also get LXMF Propagation Node stats
 | 
				
			||||||
 | 
					                # from an LXMd instance running inside nomadnet
 | 
				
			||||||
 | 
					                # telemeter.sensors["lxmf_propagation"].set_identity("~/.nomadnetwork/storage/identity")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Finally, tell Sideband what class in this
 | 
				
			||||||
 | 
					# file is the actual plugin class.
 | 
				
			||||||
 | 
					plugin_class = LXMdTelemetryPlugin
 | 
				
			||||||
@ -59,7 +59,8 @@ class BasicTelemetryPlugin(SidebandTelemetryPlugin):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            # Create fuel sensor
 | 
					            # Create fuel sensor
 | 
				
			||||||
            telemeter.synthesize("fuel")
 | 
					            telemeter.synthesize("fuel")
 | 
				
			||||||
            telemeter.sensors["fuel"].update_entry(capacity=75, level=61)
 | 
					            telemeter.sensors["fuel"].update_entry(capacity=75, level=61, type_label="Main")
 | 
				
			||||||
 | 
					            telemeter.sensors["fuel"].update_entry(capacity=15, level=15, type_label="Reserve")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Finally, tell Sideband what class in this
 | 
					# Finally, tell Sideband what class in this
 | 
				
			||||||
# file is the actual plugin class.
 | 
					# file is the actual plugin class.
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user