Neues Modul: RainbirdController

Begonnen von J0EK3R, 22 September 2020, 10:50:59

Vorheriges Thema - Nächstes Thema

J0EK3R

...was mich aber sehr irritiert ist: ,,STATE      no password"  :o
Und das obwohl erkennbar eins gesetzt ist: ,,Dbg_Password "XXXXXXXXXX""

Ist Dein Passwort ,,einfach" - aus Buchstaben und Zahlen - oder ,,eher komplex" mit irgendwelchen anderen Zeichen? Das wäre vielleicht noch ein Ansatz. Hmmm...

CoolID

Hi,

das Passwort ist mittlerweile eher einfach. Nur Gross-Kleinbuchstaben und Zahlen.
Was anderes verträgt das Modul nicht. Bin da schon bei der App-Einrichtung drüber gestolpert.  8)

Hatte auch schon irgendwann mal bei einem Versuch "initialized" als Status. Aber die Steuerung ging trotzdem nicht.



J0EK3R

Moinmoin :)

Hab mir die "Unstimmigkeit" mit Deinem Status "no password" angeschaut: das ist so erst mal nicht falsch und liegt daran, dass keine brauchbaren Responses kommen. Sonst würde der Status zu "ready" wechseln.

Also: es liegt auch nicht am Passwort.

Nun hab ich die Hoffnung aufgegeben, dass ich Deine Hardware einbinden kann.

Sorry

australien

Hi zusammen,
bin gerade am überlegen mir auch das Modul zuzulegen.
Redet Ihr hier vom LNK oder LNK2?
raspberry pi3
signalduino, Shelly1, Shelly2, Sonos, Unifi
Amazon Fire Tablet 7 | Noname Android Tablet 10"

J0EK3R

Hallo australien  :)

Also ich betreibe erfolgreich den alten ,,LNK WiFi" mit einem ,,ESP-RZXe".

Der Stick von CoolID meldet sich als "product":"LNK2" - da haben wir wohl ein Problem, das läuft (noch) nicht.

Beste Grüße
J0EK3R

CoolID

Also ich hab mir das LNK2 geholt, da es lt. Aussage des Händlers stabiler läuft als das LNK. Und es wird anscheinend meist nur noch das LNK2 Modul vertrieben.
Da ich es nun leider nicht in FHEM einbinden kann ist schade. Danke an J0EK3R an dieser Stelle.

Wobei ich verstehe das irgendwie auch nicht, da ich mit dem LNK2 keine besondere/andere App benötige und es ja mit allen Steuergeräten kompatibel ist.

Grüße
CoolID

J0EK3R

Zitat von: CoolID am 11 Mai 2022, 09:14:57
Wobei ich verstehe das irgendwie auch nicht, da ich mit dem LNK2 keine besondere/andere App benötige und es ja mit allen Steuergeräten kompatibel ist.

Das stimmt schon, ist seltsam.
Vielleicht unterscheidet die App anhand der LNK-Variante und schickt unterschiedliche Telegramme?

J0EK3R

Moinmoin :)

...bin noch am Thema dran.

Ich habe mal beim "Mutterprojekt" pyrainbird eine Anfrage gestellt:

https://github.com/jbarrancos/pyrainbird/issues/42

Vielleicht ergibt sich da ja was.

australien

Danke für Eure Antworten.

Dann werde ich mir mal den LNK2 zulegen, den LNK gibt es ja nicht mehr, und hoffen, dass sich da noch was ergibt!

raspberry pi3
signalduino, Shelly1, Shelly2, Sonos, Unifi
Amazon Fire Tablet 7 | Noname Android Tablet 10"

J0EK3R

Hallo CoolID - wir sind wieder im Spiel :)

Es kam ne Anwort zu meiner Frage auf https://github.com/jbarrancos/pyrainbird/issues/42: Es sollte wohl auch mit dem LNK2 gehen...

Jetzt müssen wir Fehler suchen: entweder hab ich was falsch gemacht oder Du! ;)

Ich muss nochmal gaaaanz genau in den Code schauen...

CoolID

Hi J0EK3R,

das freud mich zu hören. Ich gehe auch noch mal meine config durch.

Sag Bescheid wenn Du was benötigst, oder ich wieder testen soll.

bye


J0EK3R

#26
Neuer Versuch, neues Glück ;)

Moin CoolID :)

Habe gerade V2.1.0 eingecheckt.

Ich habe das Ver-/Entschlüsseln von Perl-Modul Crypt::Mode::CBC auf Crypt::CBC umgestellt - damit wird das Perl-Modul Crypt::Mode::CBC nicht mehr benötigt.

Außerdem habe ich die Debug-Ausgabe auf die "Dbg-Internals" maximiert - also bitte das Attribut debug auf 1 setzen.

Nun werden für jedes Kommando viele Internals gesetzt, von denen ich mir erhoffe, den Fehler zu finden.

Hier beispielhaft alle Debug-Internals für das Kommando 03 - AvailableStations:

Dbg_Cmd_03_AvailableStations_Count 1
Dbg_Cmd_03_AvailableStations_DEC 7B226A736F6E727063223A2022322E30222C2022726573756C74223A7B226C656E677468223A362C202264617461223A22383330304646303030303030227D2C20226964223A20347D
Dbg_Cmd_03_AvailableStations_DEC_encrypted_data 025401CD96783D229F7DC5E7BF6C0EE47DC1657FD525A3F8BAFCB23FE2FC58A5478F3140846DF493781F366884DEDF51D365033978D882892EF3FD3B9D340985E2D7E5D62CA3768B0A0DA83B73A177E3
Dbg_Cmd_03_AvailableStations_DEC_iv 3653333EEC34644BF5288F325D12BE58
Dbg_Cmd_03_AvailableStations_DEC_symmetric_key 079C742F321A0DEB6D9A0B880CC1CF7D0B5A7D586973DEB5D13C7DBDDBF74060
Dbg_Cmd_03_AvailableStations_ENC 953E68EA540C69C44AC0574E54E24D3E72A5F56D45111B32E0242D93C9E62DF4BD51A417BDF4EF60A6C842A9796A5165D4DE1EC69568CCFBE78E27985E3D77A189D38E9493256A8827E0ABD7D2D26E73465329B892B955BC4E4D03ADCABD0ABD4C32882C56EA6294B270FD007911A41CBA70F7CFA59F9128F73AC09B4D5F58A4D3FEA0686D5FB0FF0687E620705CD71F989AC603C40E487A600336397ECFF12B
Dbg_Cmd_03_AvailableStations_ENC_b 079C742F321A0DEB6D9A0B880CC1CF7D0B5A7D586973DEB5D13C7DBDDBF74060
Dbg_Cmd_03_AvailableStations_ENC_b2 953E68EA540C69C44AC0574E54E24D3E72A5F56D45111B32E0242D93C9E62DF4
Dbg_Cmd_03_AvailableStations_ENC_c 7B226964223A342C226A736F6E727063223A22322E30222C226D6574686F64223A2274756E6E656C536970222C22706172616D73223A207B2264617461223A2230333030222C20226C656E677468223A2232227D7D0010101010101010101010
Dbg_Cmd_03_AvailableStations_ENC_iv BD51A417BDF4EF60A6C842A9796A5165
Dbg_Cmd_03_AvailableStations_REQ {"id":4,"jsonrpc":"2.0","method":"tunnelSip","params": {"data":"0300", "length":"2"}}
Dbg_Cmd_03_AvailableStations_REQC 953E68EA540C69C44AC0574E54E24D3E72A5F56D45111B32E0242D93C9E62DF4BD51A417BDF4EF60A6C842A9796A5165D4DE1EC69568CCFBE78E27985E3D77A189D38E9493256A8827E0ABD7D2D26E73465329B892B955BC4E4D03ADCABD0ABD4C32882C56EA6294B270FD007911A41CBA70F7CFA59F9128F73AC09B4D5F58A4D3FEA0686D5FB0FF0687E620705CD71F989AC603C40E487A600336397ECFF12B
Dbg_Cmd_03_AvailableStations_RES {"jsonrpc": "2.0", "result":{"length":6, "data":"8300FF000000"}, "id": 4}
Dbg_Cmd_03_AvailableStations_RESC 770A037024B3559981066C3F59B1EC37DA679BEEB2FC1CBFC6ABF559F847D9983653333EEC34644BF5288F325D12BE58025401CD96783D229F7DC5E7BF6C0EE47DC1657FD525A3F8BAFCB23FE2FC58A5478F3140846DF493781F366884DEDF51D365033978D882892EF3FD3B9D340985E2D7E5D62CA3768B0A0DA83B73A177E3
Dbg_Cmd_03_Support 1


Zum Gegenchecken, ob die Ver-/Entschlüsselung funktioniert, kann man den kompletten String der Internals, deren Namen auf _RESC bzw. _REQC enden, dem get-Kommando DecryptHEX als Parameter übergeben.
(Also im Browser einfach über die Zwischenablage kopieren und in die Edit-Box des get-Kommandos DecryptHEX einfügen.)
Dann sollte als Ergebnis die selbe JSON-Struktur als Meldung aufpoppen, wie sie im zugehörigen Internal _RES bzw. _REQ steht.

Hier ein Beispiel:

Auf dem Internal Dbg_Cmd_03_AvailableStations_RESC steht:

Dbg_Cmd_03_AvailableStations_RESC 770A037024B3559981066C3F59B1EC37DA679BEEB2FC1CBFC6ABF559F847D9983653333EEC34644BF5288F325D12BE58025401CD96783D229F7DC5E7BF6C0EE47DC1657FD525A3F8BAFCB23FE2FC58A5478F3140846DF493781F366884DEDF51D365033978D882892EF3FD3B9D340985E2D7E5D62CA3768B0A0DA83B73A177E3


Dann das Kommando:

get RainbirdController DecryptHEX 770A037024B3559981066C3F59B1EC37DA679BEEB2FC1CBFC6ABF559F847D9983653333EEC34644BF5288F325D12BE58025401CD96783D229F7DC5E7BF6C0EE47DC1657FD525A3F8BAFCB23FE2FC58A5478F3140846DF493781F366884DEDF51D365033978D882892EF3FD3B9D340985E2D7E5D62CA3768B0A0DA83B73A177E3


Ergebnis:

{"jsonrpc": "2.0", "result":{"length":6, "data":"8300FF000000"}, "id": 4}


Um das Forum nicht zu sprengen, solltest Du mir die list-Ausgaben per Nachricht schicken...

...oder vielleicht die Nachricht hier posten, dass es jetzt läuft! ;)

Beste Grüße
J0EK3R

CoolID

Moin,

also irgendwie verträgt mein FHEM die neue Version des Moduls nicht.
Nach dem Update wollte ich das Modul wieder "enablen", das hat nicht geklappt. FHEM startet irgendwie neu und es ist immer noch "disabled". Im Log ist nichts zu sehen.

Dann habe ich das Modul gelöscht und wollte es erneut hinzufügen. Da bekomme ich jedes Mal "Bad Gateway" weil FHEM vermutlich neu startet.
Hinzugefügt wurde nix. ??? Auch hier im FHEM-Log nix zu finden.

Irgend eine Idee an was es liegen könnte?

Grüße

J0EK3R

Hallo CoolID,

das klingt ja schon seltsam, was Du da schreibst.  :o

Und im Log-File steht nichts, was auf das Problem hindeutet? Seltsam.

Was Du noch probieren könntest:
Leg doch mal den RainbirdController mit einem neuen Namen an.

Z.B.:

define RainCat RainbirdController rainbird.fritz.box


Ansonsten musst Du mehr Infos schicken: wie machst Du das ,,enable" - durch Setzen des Attributs ,,disable" auf ,,0"?
Wie löschst Du das Modul?

???

CoolID

Hi,

ja ich bin auch irgendwie ratlos. Ich lösche den RainbirdController bzw. alle meine Geräte ganz normal über die Weboberfläche mit "Delete this device".
Ja und mit "enablen" mein ich Attribut disable=0.  ;)

Zu Allererst mit cpan Crypt::CBC meinen Raspi auf den neuesten Stand gebacht


Mit einem anderen Namen konnte ich unter RainDog nun das Gerät hinzufügen. Config ge-saved, Alles gut.
define RainDog RainbirdController xxx.xxx.xxx.xxx
setuuid RainDog 628ba05a-f33f-2c84-12de-1bfc83d992e379a8
attr RainDog event-on-change-reading (?!InternalTime).*
attr RainDog room Rainbird
attr RainDog webCmd Stop:Update



Im Anschluss wollte ich das Rainbird Passwort setzen -> Bad Gateway -> FHEM-Oberfläche ab jetzt nicht mehr erreichbar. :'(


Per SSH am Raspi angemeldet und Log anlisten lassen:

2022.05.23 17:05:43 3: RainbirdController_Notify(RainDog) - INITIALIZED
'regenerate_key' is not a recognized argument at /usr/local/share/perl/5.28.1/Crypt/CBC.pm line 312.
at ./FHEM/73_RainbirdController.pm line 4237.


Nachdem ich die fhem.cfg vom RainDog Einträgen befreit habe, läuft nach einem Neustart von fhem alles wieder.

Können wir vielleicht mal die benötigten Permodule-Versionen abgleichen?
Vielleicht liegt da der Hund begraben?

Grüßle