FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: schmello am 02 November 2018, 21:28:54

Titel: Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: schmello am 02 November 2018, 21:28:54
Hallo zusammen...

Ich nutze FHEM mit einigen Max Geräten...
Doch suche ich den Code Aufbau von den Fensterkontakten um mir den Zustand in meiner CCU über Cuxd anzeigen zu lassen.
Weiß jemand welcher Coder versendet wird? Den Zustand offen geschlossen funktioniert in der CCU schon.
Ich hoffe das ist ok das ich hier Frage obwohl ich es nicht direkt über FHEM nutzen möchte.
Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: Wzut am 03 November 2018, 17:11:24
Batterie ok/low steckt doch mit open/close zusammen in jedem Status Telegramm.
Wenn du bereits in der Lage bist den Open Status aus dem Telegramm zu ziehen sollte die Batterie doch auch kein Problem mehr sein :
elsif($msgtype eq "ShutterContactState"){
    my $bits = pack("H2",$args[0]);
    my $isopen = vec($bits,0,2) == 0 ? 0 : 1;
    my $unkbits = vec($bits,2,4);
    my $rferror = vec($bits,6,1);
    my $batterylow = vec($bits,7,1);

Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: schmello am 03 November 2018, 19:15:35
Danke erstmal für deine Antwort :)

Ich verarbeite in der CCU die Open/Close Meldungen mit z.b. folgenden Code
ZU Z0B9506300FF4451234560010
AUF Z0B9506300FF4451234560012

Ich denke für die Batteriezustände werden sich irgendwelche Zahlen ändern. :) Nur weiß ich nicht welche.
Mit deiner Antwort kann ich leider nicht viel Anfangen ^^
Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: Wzut am 03 November 2018, 19:54:46
ahh , ok :) Wenn du noch zwei Wochen Zeit hast kann ich dir ein Beispiel zeigen, z.Z. bin ich noch im Urlaub mit nur beschränkten Zugriff.
Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: schmello am 04 November 2018, 10:23:03
Ja klar kein Problem :) Urlaub geht vor  8)
Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: schmello am 10 Dezember 2018, 15:30:34
Zitat von: Wzut am 03 November 2018, 19:54:46
ahh , ok :) Wenn du noch zwei Wochen Zeit hast kann ich dir ein Beispiel zeigen, z.Z. bin ich noch im Urlaub mit nur beschränkten Zugriff.

Hast du noch ein Beispiel  ::)
Titel: Antw:Code Aufbau Max Fensterkontakt um Batteriezustand zu ermitteln?
Beitrag von: Wzut am 10 Dezember 2018, 19:14:48
Zitat von: schmello am 03 November 2018, 19:15:35
Ich verarbeite in der CCU die Open/Close Meldungen mit z.b. folgenden Code
ZU Z0B9506300FF4451234560010
AUF Z0B9506300FF4451234560012

Ich denke für die Batteriezustände werden sich irgendwelche Zahlen ändern. :) Nur weiß ich nicht welche.
dann schauen wir uns doch mal an was Z0B9506300FF4451234560010 überhaupt bedeutet :)
Z = es ist eine Max Nachricht
0B ( in Hex) : die Länge der Nachricht
95 : Message Counter
06 : Message Flag
30 : Message Typ raw
0FF445 : Quell ID -> damit wirst du vermutlich deine verschiedenen FKs unterscheiden
123456 : Ziel ID -> der Parameter vom CUL_MAX Device
00 : Group ID
10 : ( in Hex) Payload , d.h hier steht drin was der FK mitzuteilen hat

den Payload (10 bei auf , 12 bei zu ) müssen wir nun binär zerlegen :
hex 10  = 0001 0000
hex 12  = 0001 0010

schauen wir uns nun die Bits einzeln an von rechts nach links : 00 = zu  10 = auf
Die nächste Gruppe hat vier Bits (0100) und wird im 10_Max.pm als unkbits bezeichnet (vermutlich für unbekannt)
Dann Bit Nr. 6 = rferror , hier auch 0 kann aber auch durchaus mal gesetzt sein
und last but not least Bit Nr. 7 = Battery ok/low

Da du auf ganze Telegramme  schaust müsste dein Beispiel FK bei Bat Low und offen und ohne rf Error
Z0B9506300FF4451234560090 senden und bei Bat Low und zu und ohne Error Z0B9506300FF4451234560092
Z0B9506300FF4451234560050  / Z0B9506300FF4451234560052  = auf/zu , rf error , Bat ok
Z0B9506300FF44512345600D0 / Z0B9506300FF44512345600D2  = auf/zu , rf error , Bat low