E-Auto Hyundai Bluelink / Bluelinky (Hilfe zu Node.js)

Begonnen von mnl1234, 26 November 2020, 08:50:37

Vorheriges Thema - Nächstes Thema

PatrickR

Hi!

Zitat von: ch.eick am 08 Februar 2022, 16:17:20
Ich betreibe bluelinky in einem node-red Container und habe im Container folgendes gemacht.

npm uninstall node-red-contrib-bluelinky
npm install node-red-contrib-bluelinky
Dann einen Neustart des Containers

Ich denke das war die harte Tour und man könnte es sicher auch anders machen.
Da ich ungefähr 0 Erfahrung mit npm habe: Spricht irgendwas gegen

npm install bluelinky

Das hat bei mir bluelinky auf 7.6.4 hochgezogen.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

ch.eick

Hallo,
nach meinem installieren der aktuellsten Version läuft es wieder stabiel.
Zitat von: PatrickR am 08 Februar 2022, 21:46:36
Da ich ungefähr 0 Erfahrung mit npm habe: Spricht irgendwas gegen

npm install bluelinky

Das hat bei mir bluelinky auf 7.6.4 hochgezogen.
Okay, dann brauche ich ja beim nächsten mal auch nur das npm install zu machen.
Da es bei mir im node-red läuft hat das Paket einen anderen Namen.

Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

PatrickR

#152
Hi!

Nach dem Update auf 7.6.4 bekomme ich nach einiger Zeit leider wieder Fehler, dann später wieder - ohne weitere Änderungen - Werte:


ManagedBluelinkyError: @EuropeVehicle.fullStatus: [401] Unauthorized on [GET] https://prd.eu-ccapi.hyundai.com:8080/api/v2/spa/vehicles/XXX/latest - {"retCode":"F","resCode":"4017","resMsg":"Invalid request value - Invalid Application Id. - YYY","msgId":"ZZZ"}


Offenbar wurde in 7.6.3 das Stamp-Generation-Intervall auf 15 Minuten gesetzt, in 7.6.4 dann auf 4 Stunden.

/Edit:
So wie es aussieht, scheint npm install bluelinky@2.6.3 zwar die entsprechende Version zu installieren, node-red-contrib-bluelinky aber weiterhin die "aktuelle" Version zu verwenden:

+-- node-red-contrib-bluelinky@0.0.27
| `-- bluelinky@7.6.4

Gibt es da einen eleganten Trick, wie ich temporär und testweise die 7.6.3 verwenden kann?

/Edit 2:
Ok, erledigt. Repo gecloned, package.json editiert und Paket installiert. Mal sehen, ob es nun länger läuft...

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

ch.eick

Zitat von: PatrickR am 09 Februar 2022, 12:22:11
Hi!

Nach dem Update auf 7.6.4 bekomme ich nach einiger Zeit leider wieder Fehler, dann später wieder - ohne weitere Änderungen - Werte:

Offenbar wurde in 7.6.3 das Stamp-Generation-Intervall auf 15 Minuten gesetzt, in 7.6.4 dann auf 4 Stunden.

/Edit:
So wie es aussieht, scheint npm install bluelinky@2.6.3 zwar die entsprechende Version zu installieren, node-red-contrib-bluelinky aber weiterhin die "aktuelle" Version zu verwenden:

+-- node-red-contrib-bluelinky@0.0.27
| `-- bluelinky@7.6.4

Gibt es da einen eleganten Trick, wie ich temporär und testweise die 7.6.3 verwenden kann?

/Edit 2:
Ok, erledigt. Repo gecloned, package.json editiert und Paket installiert. Mal sehen, ob es nun länger läuft...
Hallo,
wie kann ich denn die Version abfragen?
Bei mir wird ja wohl die latest gezogen.
VG
  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

PatrickR

Hi!

Zitat von: ch.eick am 09 Februar 2022, 15:13:08
wie kann ich denn die Version abfragen?
npm ls
Ggf. vorher noch in das richtige Verzeichnis gehen, bei einem Docker-Container z. B. in /data

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

ch.eick

Zitat von: PatrickR am 09 Februar 2022, 15:27:17
Hi!
npm ls
Ggf. vorher noch in das richtige Verzeichnis gehen, bei einem Docker-Container z. B. in /data

Patrick
Okay, Danke

-- node-red-contrib-bluelinky@0.0.27
  `-- bluelinky@7.6.3

Damit läuft es noch immer stabiel.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

PatrickR

Hi!

Zitat von: ch.eick am 09 Februar 2022, 17:04:39

-- node-red-contrib-bluelinky@0.0.27
  `-- bluelinky@7.6.3

Damit läuft es noch immer stabiel.
Bei mir sieht es mit der 7.6.3 auch bislang gut aus. Mit der 7.6.4 gab es nach einiger Zeit Fehlermeldungen. Werde das beobachten.

Patrick
lepresenced - Tracking von Bluetooth-LE-Tags (Gigaset G-Tag) mittels PRESENCE

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning." - Rich Cook

tomahawk2015

Hallo,
ich versuche mich auch seit letzter Woche an dem Thema, erstmal nur in node-red mit Inject und Debug und ohne
das Drumherum. Ich kann auch schon kommunizieren und Dinge wie Location, Status abfragen.
Ich würde nun gerne noch Fahrten wegschreiben und dafür gibt es ja den Node get-tripinfo.
Hier erhalte ich aber mit einfachem Timestamp-Inject die Meldung ""TypeError: Cannot read property 'toString' of undefined".
Ich vermute mal, das liegt daran, dass man einen Tag/Monat (und eventuell einen weiteren Parameter für die Form des Reports)
mitgeben muss, siehe auch
https://github.com/Hacksore/bluelinky/issues/126
Ich habe auch schonmal in dem Inject herumgespielt mit Topic/Payload aber irgendwie klappt
das noch nicht. Kann mir eventuell jemand sagen, wie das korrekte Format auszusehen hat,
eventuell auch direkt im Inject-Node? Ich habe auch mal in den anderen Codeschnipseln
geschaut (FHEM, EVCC und es gab ja auch schon ein Besipiel in einem Flow im Wiki mit JSON, funktioniert das?) aber irgendwie keinen Wert
gefunden, der da möglicherweise übergeben wird.


Vielen Dank!

ch.eick

#158
Zitat von: tomahawk2015 am 22 Mai 2022, 07:35:58
Hallo,
ich versuche mich auch seit letzter Woche an dem Thema, erstmal nur in node-red mit Inject und Debug und ohne
das Drumherum. Ich kann auch schon kommunizieren und Dinge wie Location, Status abfragen.
Ich würde nun gerne noch Fahrten wegschreiben und dafür gibt es ja den Node get-tripinfo.
Hier erhalte ich aber mit einfachem Timestamp-Inject die Meldung ""TypeError: Cannot read property 'toString' of undefined".
Ich vermute mal, das liegt daran, dass man einen Tag/Monat (und eventuell einen weiteren Parameter für die Form des Reports)
mitgeben muss, siehe auch
Moin,
das würde mich auch interessieren, könntest Du mir Deine Definitionen mal hier anhängen, dann schaue ich mir das auch mal an.
Die Grunddeffinitionen funktionieren für den Kia eNiro ja bereits.

Ich habe noch ein zusätzliches Problem mit der Temperatur, da scheint die Umrechnung zwischen Farenheit und Celsius nicht richtig zu sein. Das hatte ich glaube ich auch schon mal hier geschrieben :-(

Gruß Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

tomahawk2015

#159
Hallo,

ich hängs mal als Screenshot an. Laut dem vorher verlinkten Github Issue bin ich mal von folgenden Übergabeparametern ausgegangen:
setTripMonth:202205 (Topic:Payload, jewils als String)
tripPeriodType:0 (Topic:Payload, String bzw. Number)
Alternativ kann man anscheinend setzen
setTripDay:20220521 (Topic:Payload, jewils als String)
tripPeriodType:1 (Topic:Payload, String bzw. Number)
und erhält dann eine Tagesauswertung.
Wobei man ja eigentlich alles in einem Inject übergeben müsste aber das habe ich nicht hinbekommen, in einem Inject Day und PeriodType gleichzeitig zu übergeben,
wie gesagt stecke da bei Node-red im Anfangsstadium. Die Fehlermeldung ist immer dieselbe wie in meinem ersten Post.
Später würde ich natürlich alles auch per FHEM machen wollen, vielleicht es auf dem Wege sogar einfacher per MQTT, keine Ahnung.
Leider ist die Doku ja sehr spärlich, eventuell kriegt man es zusammen hin :-)

VG Thorsten


ch.eick

Zitat von: tomahawk2015 am 22 Mai 2022, 10:37:15
Hallo,

ich hängs mal als Screenshot an. Laut dem vorher verlinkten Github Issue bin ich mal von folgenden Übergabeparametern ausgegangen:
setTripMonth:202205 (Topic:Payload, jewils als String)
tripPeriodType:0 (Topic:Payload, String bzw. Number)
Alternativ kann man anscheinend setzen
setTripDay:20220521 (Topic:Payload, jewils als String)
tripPeriodType:1 (Topic:Payload, String bzw. Number)
und erhält dann eine Tagesauswertung.
Wobei man ja eigentlich alles in einem Inject übergeben müsste aber das habe ich nicht hinbekommen, in einem Inject Day und PeriodType gleichzeitig zu übergeben,
wie gesagt stecke da bei Node-red im Anfangsstadium. Die Fehlermeldung ist immer dieselbe wie in meinem ersten Post.
Später würde ich natürlich alles auch per FHEM machen wollen, vielleicht es auf dem Wege sogar einfacher per MQTT, keine Ahnung.
Leider ist die Doku ja sehr spärlich, eventuell kriegt man es zusammen hin :-)

VG Thorsten
Hallo Torsten,
in meinem Node-RED ist bereits etwas drin, was ich aber noch nicht verwendet habe. Siehe Bild 1.
Dort habe ich einfach mal auf das Inject geklickt, was im Debug dann zu sehen ist.
Der Pfad mit dem JSON scheint über FHEM wahlweise durchlaufen zu werden. aber da müsste man im FHEM das JSON noch eingeben. Ein reines set ohne payload führt zu der zweiten Meldung im Debug.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo Thorsten,
ich habe jetzt mal etwas experimentiert und den node-RED Flow noch verändert. Beim JSON Objekt war anscheinend die Konvertierung bei mir falsch. Die habe ich jetzt auf JavaScript-Object gesetzt. Dann ist noch das MQTT am Ende dazu gekommen und ich bekomme nun die ersten readings.

set Kia_connect getTripinfo {"year": 2022, "month": 5, "day": 21}

2022-05-22 17:25:00   1_tripsCount    6
     2022-05-22 17:25:00   1_trips_1_distance 3
     2022-05-22 17:25:00   1_trips_1_durations_drive 7
     2022-05-22 17:25:00   1_trips_1_durations_idle 1
     2022-05-22 17:25:00   1_trips_1_end   2022-05-21T05:46:39.000Z
     2022-05-22 17:25:00   1_trips_1_speed_avg 38
     2022-05-22 17:25:00   1_trips_1_speed_max 83
     2022-05-22 17:25:00   1_trips_1_start 2022-05-21T05:39:39.000Z
     2022-05-22 17:25:00   1_trips_1_timeRaw 073939
     2022-05-22 17:25:00   1_trips_2_distance 3
     2022-05-22 17:25:00   1_trips_2_durations_drive 6
     2022-05-22 17:25:00   1_trips_2_durations_idle 1
     2022-05-22 17:25:00   1_trips_2_end   2022-05-21T04:48:19.000Z
     2022-05-22 17:25:00   1_trips_2_speed_avg 41
     2022-05-22 17:25:00   1_trips_2_speed_max 91
     2022-05-22 17:25:00   1_trips_2_start 2022-05-21T04:42:19.000Z
     2022-05-22 17:25:00   1_trips_2_timeRaw 064219
     2022-05-22 17:25:00   1_trips_3_distance 0
     2022-05-22 17:25:00   1_trips_3_durations_drive 1
     2022-05-22 17:25:00   1_trips_3_durations_idle 1
     2022-05-22 17:25:00   1_trips_3_end   2022-05-21T04:23:33.000Z
     2022-05-22 17:25:00   1_trips_3_speed_avg 0
     2022-05-22 17:25:00   1_trips_3_speed_max 0
     2022-05-22 17:25:00   1_trips_3_start 2022-05-21T04:22:33.000Z
     2022-05-22 17:25:00   1_trips_3_timeRaw 062233
     2022-05-22 17:25:00   1_trips_4_distance 0
     2022-05-22 17:25:00   1_trips_4_durations_drive 3
     2022-05-22 17:25:00   1_trips_4_durations_idle 0
     2022-05-22 17:25:00   1_trips_4_end   2022-05-21T04:22:45.000Z
     2022-05-22 17:25:00   1_trips_4_speed_avg 23
     2022-05-22 17:25:00   1_trips_4_speed_max 49
     2022-05-22 17:25:00   1_trips_4_start 2022-05-21T04:19:45.000Z
     2022-05-22 17:25:00   1_trips_4_timeRaw 061945
     2022-05-22 17:25:00   1_trips_5_distance 0
     2022-05-22 17:25:00   1_trips_5_durations_drive 2
     2022-05-22 17:25:00   1_trips_5_durations_idle 0
     2022-05-22 17:25:00   1_trips_5_end   2022-05-21T04:07:47.000Z
     2022-05-22 17:25:00   1_trips_5_speed_avg 24
     2022-05-22 17:25:00   1_trips_5_speed_max 43
     2022-05-22 17:25:00   1_trips_5_start 2022-05-21T04:05:47.000Z
     2022-05-22 17:25:00   1_trips_5_timeRaw 060547
     2022-05-22 17:25:00   1_trips_6_distance 0
     2022-05-22 17:25:00   1_trips_6_durations_drive 0
     2022-05-22 17:25:00   1_trips_6_durations_idle 0
     2022-05-22 17:25:00   1_trips_6_end   2022-05-21T04:04:57.000Z
     2022-05-22 17:25:00   1_trips_6_speed_avg 2
     2022-05-22 17:25:00   1_trips_6_speed_max 7
     2022-05-22 17:25:00   1_trips_6_start 2022-05-21T04:04:57.000Z
     2022-05-22 17:25:00   1_trips_6_timeRaw 060457

Für mehr habe ich jetzt gerade keine Zeit ;-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

tomahawk2015

Hallo Christian,

vielen Dank für Deinen Input, das ist ja eigentlich schon die fertige Lösung. Ich habe alles soweit nachvollziehen können inklusive der Einbindung in FHEM. Eine Frage interessehalbe hätte ich aber noch,
an welcher Stelle hast Du die zu übergebenden Parameter (Year,Month,Day) dokumentiert gefunden? Ich meine, sie sind natürlich nachvollziehbar aber den einzigen Hinweis auf das Übergabeformat
hatte ich in besagtem Github Issue gefunden und da war ja von einem Format YYYYMMDD die Rede...diese Funktionalität gettripinfo find ich nach wie vor nirgendwo dokumentiert? Kann man das
irgendwie aus dem Node get-tripinfo extrahieren, mit welchen Parametern die arbeitet?

VG

Thorsten

ch.eick

#163
Zitat von: tomahawk2015 am 24 Mai 2022, 11:25:45
Hallo Christian,

vielen Dank für Deinen Input, das ist ja eigentlich schon die fertige Lösung. Ich habe alles soweit nachvollziehen können inklusive der Einbindung in FHEM. Eine Frage interessehalbe hätte ich aber noch,
an welcher Stelle hast Du die zu übergebenden Parameter (Year,Month,Day) dokumentiert gefunden? Ich meine, sie sind natürlich nachvollziehbar aber den einzigen Hinweis auf das Übergabeformat
hatte ich in besagtem Github Issue gefunden und da war ja von einem Format YYYYMMDD die Rede...diese Funktionalität gettripinfo find ich nach wie vor nirgendwo dokumentiert? Kann man das
irgendwie aus dem Node get-tripinfo extrahieren, mit welchen Parametern die arbeitet?
Hallo Torsten,
den ganzen Flow hatte ich hier irgendwo auch schon mal gepostet, es war aber noch ein Fehler drin, da ich das ja auch nur übernommen hatte und die Trip geschichte dort nur begonnen war.

Wenn Du auf das Objekt Tripinfo klickst, wird es recht im Node-RED angezeigt. Dort auf Hilfe-zeigen, was dann etwas das JSON erläutert.
Das mqtt-out hatte ich noch hinzugefügt und im FHEM das redingList erweitert. Die readings werden jedoch noch nicht schön gruppiert, das schaue ich mir nach dem Urlaub mal an, oder es hilft noch jemand anderes, da ich mgtt und Node-RED auch nur experimentell bearbeiten kann :-) Der Output von Kia muss ja auch noch vernünftig interpretiert werden, damit man damit etwas anfangen kann.

Und wie gesagt, die Temperaturanzeige scheint auch noch falsch berechnet zu werden.
So wie ich das gezählt habe sind wir bereits 6-7 Kia Nutzer in FHEM, somit wird sich sicherlich noch etwas bewegen.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Hallo zusammen,
habt Ihr in den letzten tagen auch mal wieder Probleme bei der Kia Abfrage?

VG  Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick