UVR16x2 CAN-Bus

Begonnen von Maxix2, 21 April 2019, 15:33:02

Vorheriges Thema - Nächstes Thema

Maxix2

Guten Tag,

schon vor einiger Zeit habe ich mir ein Modul gemacht, dass das Ein-/Auslesen der CAN-Ein/Ausgänge der UVR16x2 und RSM610 erlaubt.
Ebenfalls kann dieses Modul die Zeiten auf den Geräten aktualisieren, allerdings ohne Sommerzeit-Angabe.
Das Modul basiert auf den beiden Utils "cansend" und "candump", es erstellt für jedes definierte Device ein candump Prozess um die Daten auszulesen.
Einzige Manko ist dass wenn das FHEM neustarten muss oder sich aufhängt die Prozesse ebenfalls hängenbleiben und zu Zombies werden.

Ich werde das Modul nicht weiterentwickeln, da insbesondere die Anbindung mit cansend/candump recht aufwendig und instabil ist, sowie für die weiterentwicklung der komplette CANopen-Stack nachgebaut werden müsste. Ebenfalls bin ich keiner der Perl gut kennt.
Hier das Modul: https://pastebin.com/1YVaN7Ug

Als "Version 2.0" habe ich ein Python-Tool entwickelt. Dieses verbindet sich nicht direkt mit dem FHEM, sondern verbindet sich mit einem MQTT-Server. Über diesen werden Kommandos & Status-Meldungen ausgetauscht.
Funktionen:
- (fast) kompletter Scan aller CAN-Geräten (von TA) und Erkennung von CAN-Ein & Ausgängen inkl. Einheiten und Namen
- Manuelle Steuerung von Jalousiefunktionen (top, bottom, waagerecht, bestimmte Position)
- Zeitenversand mit Sommerzeit-Angabe
- inkl. Tool um die Geräte in das FHEM zu übertragen (fhem-configurator-main.py)

Das Programm kann beliebig erweitert werden, momentan arbeite ich an einer Lösung um Funktionsdaten hochzuladen.
Leider fehlt noch eine Dokumentation, aber die Beispiel-Konfiguration erklärt ein wenig.

Das Programm kann beliebig erweitert werden, und es können Funktionsdaten sowie Firmwares an UVR16x2 und RSM610 hochgeladen werden.

Es wird KEIN CMI benötigt, nur eine CAN Verbindung, sowie Python >= 3.4.2 und die Pakete in requirements.txt installiert.
Bei Interesse kann ich gerne Zugang zum Repo zuweisen.

Viele Grüße
Maxi

dmq

Hallo Maxi,

vielen Dank für deine tolle Arbeit. Das Perl-Modul funktioniert. Ich wäre aber sehr an deinem Python-Code interessiert. Wäre genial wenn Du diesen freigeben würdest.

Danke und schönes Wochenende,
dmq