Hallo,
ich versuche, alle Aufgaben mit FHEM zu lösen, was mir auch gelingt und ich die vielen Vorteile sehe. Ich bin absolut kein Fan von Drag&Drop (Blockly) oder JavaScript. Nun gibt es leider ein Modul (oder Objekt), dass es nur in ioBroker gibt. Die Kommunikation von ioBroker => FHEM klappt, 'die' haben ein Modul, um mit FHEM zu kommunizieren. Nun würde ich nur wegen dem einen Modul einen ioBroker aufsetzen, möchte aber nicht extra nur dafür einen Raspi verheizen, zumal die heutzutage ja fast Gold-Preise haben.
Hat schonmal jemanden FHEM und ioBroker auf einem Raspi 3+ installiert? Beissen sich die? Port ioBroker ist ja 8081, also frei. ioBroker verwendet nodejs, müsste also auch gehen.
Moin,
um welches Modul im ioBroker geht es denn?
VG Christian
Die Anbindung von Fiat
Okay, da ist noch nichts :-(
Könntest Du Deinen anderen Thread dann noch bitte mit diesem verlinken?
Für ioBroker gibt es ein Docker Image, bei dem müssten dann natürlich die bereits belegten Ports geändert werden. z.B. 8081 -> 8082
Fiat uconnect im ioBroker (https://github.com/TA2k/ioBroker.fiat)
Eventuell kann man das ja zu FHEM portieren, indem man schaut, wie es im ioBroker gemacht wurde.
Habe ioBroker nun auf meinem piHole Raspi installiert, da läuft sonst nix. Auf dem ioBroker ist dann nur die FHEM- und Fiat Anbindung.
Ist das erste mal, dass ich mich mit ioBroker beschäftige. Die Modul-Auswahl und installation ist bei ioBroker wirklich gut gelungen. Die Verscriptung ist überhaupt nicht mein Ding, bin kein Fan von Klicki-Oberflächen.
Zitat von: ch.eick am 09 Dezember 2022, 11:20:12
Fiat uconnect im ioBroker (https://github.com/TA2k/ioBroker.fiat)
Eventuell kann man das ja zu FHEM portieren, indem man schaut, wie es im ioBroker gemacht wurde.
War schon dran und soweit lief es. Bis ich zu den AWS Tokens gekommen bin, da wurde irgendwas umgerechnet und da war ich raus.
Zitat von: Det20 am 09 Dezember 2022, 11:21:58
War schon dran und soweit lief es. Bis ich zu den AWS Tokens gekommen bin, da wurde irgendwas umgerechnet und da war ich raus.
Hier wird mit der API kommuniziert, das müsste man analysieren und eventuell im Browser oder Burp tracen (https://github.com/TA2k/ioBroker.fiat/blob/master/main.js)
Zur Umsetzung wäre dann HTTPMOD denkbar.
EDIT: Bei Kia habe ich den Node-red Docker Container verwendet, der dann mqtt spricht. Auch da musste noch einiges ergänzt werden.
Du solltest diesen Thread besser in "Fiat uconnect API" umbenennen.
Zitat von: ch.eick am 09 Dezember 2022, 11:25:19
Hier wird mit der API kommuniziert, das müsste man analysieren und eventuell im Browser oder Burp tracen (https://github.com/TA2k/ioBroker.fiat/blob/master/main.js)
Zur Umsetzung wäre dann HTTPMOD denkbar.
Wie gesagt habe ich schon, basierend auf dem ioBroker Modul angefangen und war zu 50% fertig. Dann wurde aber irgendwas in Richtung AWS gedreht, also Tokens umgerechnet, AWS-konforme-DateTime Felder gesetzt und so. Da habe ich dann aufgehört.
Zitat von: Det20 am 09 Dezember 2022, 11:28:22
Wie gesagt habe ich schon, basierend auf dem ioBroker Modul angefangen und war zu 50% fertig. Dann wurde aber irgendwas in Richtung AWS gedreht, also Tokens umgerechnet, AWS-konforme-DateTime Felder gesetzt und so. Da habe ich dann aufgehört.
Dazu könnte eventuell im HTTPMOD Thread geholfen werden, oder womit hast Du da angefangen?
Habe das alles erstmal in PHP und CURL abgebildet, da fällt mir die Entwicklung leichter (Source speichern => Browser refresh)
Zitat von: Det20 am 09 Dezember 2022, 11:31:55
Habe das alles erstmal in PHP und CURL abgebildet, da fällt mir die Entwicklung leichter (Source speichern => Browser refresh)
Das passt dann leider nicht so gut ins FHEM. Auch beim HTTPMOD ändert man im RAW und kann dann sofort testen.
verbose 5 und direkt im Log die Kommunikation sehen.
Für spezielle Tokens und Berechnungen binde ich dann Perl mit ein
z.B.
replacement04Mode expression
replacement04Regex %FINISH%
replacement04Value {my $NAME="WR_1_API"; plenticore_auth("finish","user","$NAME",ReadingsVal("$NAME","auth_randomString64","missed"),ReadingsVal("$NAME","auth_nonce","missed"),ReadingsVal("$NAME","auth_salt","missed"),ReadingsVal("$NAME","auth_rounds","missed"),ReadingsVal("$NAME","auth_transactionId","missed"))}
Die Übergabe erfolgt ansonsten auch aus readings, die mit replacement eingesetzt werden.