Anbindung von Kia UVO an fhem

Begonnen von Eckat, 15 Februar 2021, 08:53:19

Vorheriges Thema - Nächstes Thema

Rewe2000

Hallo Eckat,

ich habe eben Bluelinky und nodejs auf meinem Raspi4 komplett entfernt und dann alles neu installiert. Aktuell verwende ich die node Version v20.5.0 und npm Version 9.8.0.
Hast du die gleichen Versionen im Einsatz?
Ich bin auch auf ältere Versinen gegangen, jedoch ohne irgendwelchen sichtbaren Erfolg (auch die weiter unten beschriebenen Warnmeldungen tauchen hier ebenso auf).

Bei der Installation der Prozesssteuerung von nodejs kommt bei mir folgende Warnmeldung:
reinhard@Fhem-Bullseye-SSD:~ $ sudo npm install pm2 -g
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

changed 158 packages in 15s

12 packages are looking for funding
  run `npm fund` for details

Nach Ausführung von npm fund (wie vorgeschlagen) wird folgendes ausgegeben:
reinhard@Fhem-Bullseye-SSD:~ $ npm fund
reinhard
├── https://github.com/sponsors/sindresorhus
│   └── clone-response@1.0.3, get-stream@5.2.0, is-stream@2.0.1
├── https://github.com/sponsors/feross
│   └── safe-buffer@5.2.1
└── https://github.com/sponsors/epoberezkin
    └── ajv@6.12.6


Bei der Installation von Bluelinky werden folgende Warnungen angezeigt:
reinhard@Fhem-Bullseye-SSD:~/bluelinky $ npm install bluelinky
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 132 packages, and audited 133 packages in 15s

5 packages are looking for funding
  run `npm fund` for details

8 vulnerabilities (7 moderate, 1 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.


Bei Ausführung von npm audit fix erscheint folgende Ausgabe:
reinhard@Fhem-Bullseye-SSD:~/bluelinky $ sudo npm audit fix

up to date, audited 133 packages in 3s

5 packages are looking for funding
  run `npm fund` for details

# npm audit report

got  <11.8.5
Severity: moderate
Got allows a redirect to a UNIX socket - https://github.com/advisories/GHSA-pfrx-2q88-qq97
No fix available
node_modules/got
  bluelinky  *
  Depends on vulnerable versions of got
  Depends on vulnerable versions of push-receiver
  node_modules/bluelinky

protobufjs  6.10.0 - 7.2.3
Severity: high
protobufjs Prototype Pollution vulnerability - https://github.com/advisories/GHSA-h755-8qp9-cq85
fix available via `npm audit fix`
node_modules/protobufjs

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request
  push-receiver  *
  Depends on vulnerable versions of request
  Depends on vulnerable versions of request-promise
  node_modules/push-receiver
  request-promise  >=0.0.2
  Depends on vulnerable versions of request
  Depends on vulnerable versions of request-promise-core
  Depends on vulnerable versions of tough-cookie
  node_modules/request-promise
  request-promise-core  *
  Depends on vulnerable versions of request
  node_modules/request-promise-core

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/request-promise/node_modules/tough-cookie
node_modules/request/node_modules/tough-cookie

8 vulnerabilities (7 moderate, 1 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Irgendwie bin ich da zuwenig Linux erfahren, dass ich erkennen könnte wie ich die Meldungen beheben könnte. Gibt es bei dir die Meldungen auch?
Nicht dass hier der Grund liegt, weshalb ich keine Verbindung bekomme. Sollte jemand mitlesen und mir einen Tipp geben können, wie ich die Warnungen beheben könnte wäre das prima.

Installiert habe ich Nodejs wie von Otto vorgeschlagen: https://heinz-otto.blogspot.com/2019/05/installation-nodejs.html

Sollte auch dies mein Problem nicht beheben, so werde ich einen Beitrag im Github Forum bei Bluelinky schreiben.

Gruß Reinhard


Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Eckat

Also ich betreibe das auf einem virtualisierten Ubuntu x86-64 Linux.

npm 9.7.2
node 16.15.0

sudo npm install pm2 -g

npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

added 158 packages in 12s

12 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New minor version of npm available! 9.7.2 -> 9.8.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v9.8.1
npm notice Run npm install -g npm@9.8.1 to update!
npm notice

npm fund

bluelinky
├── https://github.com/sponsors/ljharb
│   └── minimist@1.2.8
├── https://github.com/sponsors/isaacs
│   └── glob@7.2.3
├── https://github.com/sponsors/feross
│   └── buffer@5.7.1, base64-js@1.5.1, ieee754@1.2.1, safe-buffer@5.2.1
├── https://opencollective.com/js-sdsl
│   └── js-sdsl@4.3.0
├── https://github.com/sponsors/sindresorhus
│   └── clone-response@1.0.3, get-stream@5.2.0, is-stream@2.0.1
└── https://github.com/sponsors/epoberezkin
    └── ajv@6.12.6

Ich nutze node und npm auch nur für bluelinky.
Daher update ich nur, wenn es nicht mehr funktioniert  :D

Ich hatte bei dem letzten Update vor ca. 1,5 Monaten bei bluelinky irgendwelche Probleme mit Abhängigkeiten etc..
Da bin ich auch nicht schlau draus geworden, aber letztendlich hat mir ncu geholfen.
sudo ncu -u-> https://www.npmjs.com/package/npm-check-updates


Rewe2000

Hallo Eckat,

das soll einer verstehen, seit heute 10:45 Uhr antwortet mir mein KIA wieder, nach über einem Monat "Funkstille", auf Anfragen über Bluelinky, ohne dass ich bewusst etwas geändert hätte.
Hauptsache es geht wieder.

Danke für deine Mühe.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

optimizer

Hi,

nach einigen Tagen Frust mit der Installation von bluelinky, ein kleiner Hinweis:
Mit der aktuellen Installation von "npm bluelinky" wird die Version 8.3.1 installiert. Damit bekam ich beim Aufruf von "node kia.js" ständig den Fehler "TypeError: BlueLinky is not a constructor". Den Fehler im bluelinky Modul kann ich mangels js-Kenntnisse nicht beheben, aber mit einer älteren Version funktioniert das Script einwandfrei:
Installation der Version 8.2.1
npm bluelinky@8.2.1
(8.3.0 oder 8.3.1 hat nicht funktioniert.)

Aufgrund autocreate im MQTT2_Server wurde in fhem automatisch ein device unter MQTT2_DEVICE angelegt. Allerdings scheint jeder kia.js-Aufruf ein weiters device (MQTT2_mqttjs_1239678e und weitere mit anderen Nummern) anzulegen. Kann man einen festen Namen im kia.js hinterlegen?

Laut Handbuch kann man den Ladestrom (100%, 90%, 60% beim eNiro) verändern. Welcher UVO-Parameter ist das, um abhängig des PV-Ertrags die Ladeleistung zu steuern?
Gruß
optimizer

Rewe2000

Hallo optimizer,

Danke für den Hinweis zur neuen bluelinky Version, ich wollte die nächsten Tage ein Update ausführen, damit warte ich nun noch ein wenig.
Hattest du auch jeweils die neuesten Versionen von nodejs und npm bei dir installiert?

Zu deinem Problem mit den unterschiedlichen Namen bei den MQTT-Abfragen. Hast du schon mal das Attribut clientId beim Device MQTT2_SERVER getestet, ich habe hier mein Kennzeichen hinterlegt, somit werden die Abfragen immer in das gleiche Device geschrieben.
clientId <name>
set the MQTT clientId for all connections, for setups with clients creating a different MQTT-ID for each connection. The autocreate capabilities are greatly reduced in this case, and setting it requires to remove the clientId from all existing MQTT2_DEVICE readingList attributes.
Ich hoffe das sollte auch bei dir das Problem lösen.

Da ich bei mir nur die Werte vom Fahrzeug lese kann ich dir bei deiner letzten Frage leider nicht weiterhelfen.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

optimizer

Hallo Reinhard,
- ich habe zu Beginn einfach die vorhanden (aktuellsten) nodejs, npm, bluelinky Versionen (unter raspberry bullseye) installiert. Nur mit bluelinky bin ich wieder zurück auf 8.2.1 gegangen.

- Zum Thema clientID möchte ich den MQTT2_Server nicht ändern, da das sonst Auswirkungen auf alle meine Geräte darin hätte. Ich habe etwas besseres gefunden: Einfach im Script die clientId mitgeben. So sieht das bei mir aus, wenn der fhem-MQTT2-Server auf dem gleichen Rechner läuft:
const mqttClient = await MQTT.connectAsync("mqtt://localhost:1883", { clientId:"eNiro", username:"", passwort:"" })
- Da muss ich mich noch etwas mit bluelinky bzw. den Readings beschäftigen.
Vielleicht kann noch jemand seine Erfahrung zum Einstellen der Ladegeschwindigkeit teilen. Wenn das im Fahrzeug geht, brauch ich keine teure Wallbox.

Gruß optimizer