Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Problem

Es soll gezeigt werden, wie Daten per UDP an Loxone übertragen werden können. Dazu wird die CPU Temperatur eines Raspberry Pi verwendet.

Lösung

UDP Eingang in Loxone Config erstellen

  • Hier eine Anleitung, die mit Loxone Config 7.4 erstellt wurde: UDP Eingang definieren
  • Oder hier ein zum unten folgenden Code passendes Beispiel mit Loxone Config 8.1: UDP Demo.zip

CPU Temperatur vom Raspberry Pi senden

Installiert man obiges Beispiel am Miniserver und lässt folgendes Python Script auf einem Raspberry PI laufen, dann wird im MS die Temperatur empfangen und angezeigt. Dabei sind folgende Dinge wichtig, damit das ganze funktioniert.

  • IP Adresse und Port Nummer müssen passen
  • Die UDP Nachricht (MESSAGE) die gesendet wird, muss am Miniserver in der UDP Befehlserkennung mit dem richtigen Parameter angegeben werden. Für unser Beispiel ist das (ohne die "") "CPU_Temp \v"

 

Python Programm um die CPU Tempeartur zu senden
#!/usr/bin/env python

import time
import socket
import os
 
# hier die IP Adresse des eigenen Miniservers eintragen
UDP_IP = "192.168.42.230"
# hier die Port Nummer des UDP Eingangs eintragen
UDP_PORT = 9999

while True:

	def getCpuTemperature():
		tempFile = open("/sys/class/thermal/thermal_zone0/temp")
		cpu_temp = tempFile.read()
		tempFile.close()
		return float(cpu_temp)/1000

	CPU_Temp = getCpuTemperature()
	MESSAGE = "CPU_Temp " + str(CPU_Temp)

	#print MESSAGE
	sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP
	sock.sendto(MESSAGE, (UDP_IP, UDP_PORT))

	time.sleep(60)