NEWS
Adapter "smartmeter"
-
@klassisch sagte in Adapter "smartmeter":
001:002 ist was? ein externer Hub?
Nein, das ist intern im Raspberry 4 so geroutet.
-
Ne im Zigbee Adapter kann ich nichts auswählen, konnte nur manuell angeben.
002:002 ist Dein USB SATA Adapter an dem die Platte hängt
001:004 ist das HM Funkmodul von @deimos
001:003 ist der CP2102 Serial USB Adapter, wahrscheinlich vom Stromzähler
001:005 ist der Zigbee-Adapter?Alles richtig.
001:002 ist was? ein externer Hub?
das weiß ich auch nicht, das Netzteil ber USB C vielleicht?Der Pi hat ja nur 4 USB Ports und diese sind mit der SSD, dem HM Funkmodul, dem CP2102 Adapter für den IR Lesekopf und den Zigbee Adapter belegt
-
@Malz1902 said in Adapter "smartmeter":
Ne im Zigbee Adapter kann ich nichts auswählen, konnte nur manuell angeben.
Habe mal den COM-Port gelöscht, gespeichert, Adapter gestartet dann in den Einstellungen dort bekomme ich nun 4 Vorschläge
Aber Adapter bleibt immer noch gelb
-
@Malz1902 Welcher Adapter bleibt gelb? Zigbee oder smartmeter
-
@klassisch said in Adapter "smartmeter":
@Malz1902 Welcher Adapter bleibt gelb? Zigbee oder smartmeter
Zigbee
zigbee.0 2020-06-18 22:09:19.661 error at /opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:242:12 zigbee.0 2020-06-18 22:09:19.661 error at SerialPort._error (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/node_modules/@serialport/stream/lib/index.js:198:14) zigbee.0 2020-06-18 22:09:19.661 error at SerialPort.<anonymous> (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:111:49) zigbee.0 2020-06-18 22:09:19.661 error at __awaiter (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:4:12) zigbee.0 2020-06-18 22:09:19.661 error at new Promise (<anonymous>) zigbee.0 2020-06-18 22:09:19.661 error at /opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:8:71 zigbee.0 2020-06-18 22:09:19.661 error at Generator.next (<anonymous>) zigbee.0 2020-06-18 22:09:19.661 error at Znp.<anonymous> (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/znp/znp.js:113:32) zigbee.0 2020-06-18 22:09:19.661 error (6070) Error: Error while opening serialport 'Error: Error Resource temporarily unavailable Cannot lock port' zigbee.0 2020-06-18 22:09:19.660 error (6070) Failed to start Zigbee zigbee.0 2020-06-18 22:09:09.449 error at rejected (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:6:65) zigbee.0 2020-06-18 22:09:09.449 error at Generator.throw (<anonymous>) zigbee.0 2020-06-18 22:09:09.449 error at ZStackAdapter.<anonymous> (/opt/iobroker/node_modules/iobroker.zigbee/node_modules/zigbee-herdsman/dist/adapter/z-stack/adapter/zStackAdapter.js:71:23) zigbee.0 2020-06-18 22:09:09.449 error (6070) Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms) zigbee.0 2020-06-18 22:09:09.445 error (6070) Failed to start Zigbee
-
@Malz1902
Der stick dürfte aber auch auf ttyACM0 liegen, nicht auf ttyACM1 -
@Thomas-Braun said in Adapter "smartmeter":
@Malz1902
Der stick dürfte aber auch auf ttyACM0 liegen, nicht auf ttyACM1Hab beides versucht leider ohne Erfolg
-
@klassisch sagte in Adapter "smartmeter":
@Malz1902 Das hat nichts mit dem Adapter zu tun.
Richtig ...
Kann ein Admin den Verlauf in diesen bestehenden Thread von @Malz1902 verschieben
zigbee-startet-nicht-mehr -
-
Das ist jetzt das Problem.A besten nicht die /dev/tty... nutzen weil sich die auch bei reboots ändern können - deswegen nutzt Smartmeter und ein paar andere Adapter die ich schon umgebaut habe die /dev/serial/by-id/... Pfade ... Die änder sich auch bei Reboots nicht
-
-
@Malz1902 Du könntest statt 'Geht nicht' oder 'Hab ich schon' auch mal die Rückmeldungen aus der Konsole Mal bekannt geben.
-
@Thomas-Braun said in Adapter "smartmeter":
@Malz1902 Du könntest statt 'Geht nicht' oder 'Hab ich schon' auch mal die Rückmeldungen aus der Konsole Mal bekannt geben.
Im Log im ioBroker steht immer noch der gleiche Fehler wie gestern auch.
Was meinst Du mit Rückmeldung aus der Konsole?
-
@Malz1902
Ich hatte oben gefragt, wohin der Stick gelinkt wird, z. B. -
@Thomas-Braun said in Adapter "smartmeter":
@Malz1902
Ich hatte oben gefragt, wohin der Stick gelingt wird, z. B./dev/serial/by-id/usb-Texas_Instruments_XDS110__03.00.00.07__Embed_with_CMSIS-DAP_L4300302-if00 -> ../../ttyACM0
-
Habe jetzt den CC neu geflasht und geht wieder alles
-
Ich verwende den Smartmeter-Adpater mit 3 Instsanzen um 3 Landis & Gyr 2WR5 Wärmezähler auszulesen. Prinzipiell funktionert das seit knapp einem Jahr. Allerdings habe ich eine extrem hohe CPU-Auslastung.
Leider liefert der 2WR5 mit dem Standard-Sign-On (?) außer dem Zählerstand kaum weitere interessanten Daten. Deswegen verwende ich "#" als Sign-On, um z.B. auch aktuelle Vorlauf/Rücklauf-Temperauren, Durchfluss und aktuelle Wärmemenge zu erhalten. Insgesamt ca. 10-15 interessante Wert. Leider liefert der 2WR5 aber mit "#" insgesamt über 600 Werte.
Ein Auszählvorgang dauert dann am Raspberry PI 3 (als Slave) ca. 45 Sekunden und lastet einen Kern bis auf die ersten Sekunden durchgängig mit >= 97% aus. Laufen alle drei Auslesevorgänge parallel, sind 3 der 4 Kerne komplett ausgelastet.
Ich bin alles andere als ein nodejs Experte. Aber zwei mögliche Ursachen kommen mir in den Sinn:
- Wenn ich den Code bzw. die Debug-Ausgaben richtig interpretiere wird während dem Empfang der Rohdaten immer mal zwischendurch geparst, um zu prüfen, ob das Ende erreicht ist. Eventuell ist das Parsen ab einer gewissen Datenmenge langsam. Ich hab ein kleines Testprogramm geschrieben, das direkt smartmeter-obis verwendet (Konsole, außerhalb iobroker). Im Debug-Mode 2 sieht man, dass am Anfang (z.B. 5 Zeilen an Daten in der Console) alles noch sehr schnell geht und die CPU eher so bei 10% bis max. 20% ist. Aber dann wird es deutlich langsamer und die CPU-Usage schnellt auf ca. 100% rauf. Die Consolen-Ausgabe selbst dürfte es nicht sein, weil die CPU-Usage geht auch bei Debug-Mode 1 rauf. Falls das das Problem ist: gäbe es da einen Ansatz das Parsen zu optimieren?
- Auf Github unter serialport findet man auch vereinzelt Anfragen wegen hoher CPU-Auslastung. Angeblich dürfte serialport diesbezüglich nicht optimal implementiert sein. Allerdings ging es da um Auslastungen im Bereich von 20%.
PS: Ich hatte den Smartmeter-Adapter via GUI immer aktualisiert. Hab aber gestern festgestellt, dass laut "iobroker update" am Slave noch alte Adapter-Versionen installiert waren. Hab via Konsole upgegradet. Bin jetzt auf nodejs 12.18.1, Smartmeter 3.1.2, smartmeter-obis 2.1.2 und serialport 8.0.8
-
Hi,
naja bei gewissen Datenmengen und "Langsamen" Übertragungen kann das so sein. Wie oft liesst Du es denn aus? Zum Parsen der nachricht werden Regex verwendet.keine Ahnung ob man das weiter optimieren kann.
Wenn Du magst leg ein Issue in der smartmeter-obis Lib an, aber keine Ahnung wann ich zu sowas komme ... auf jeden Fall brauche ch debug damit ich es nachstellen kann.Ich hatte den Smartmeter-Adapter via GUI immer aktualisiert. Hab aber gestern festgestellt, dass laut "iobroker update" am Slave noch alte Adapter-Versionen installiert waren. Hab via Konsole upgegradet.
Du musst im Admin unter "Adapter" oben den entsprechenden Hosts auswählen! Adapterinstallationen/-updates wirken sich nur auf den Host aus.
-
Kann man mit dem smartmeter eigentlich auch Stromzwischenzähler mit S0 schnittstelle auslesen? Oder geht das dann nur über nen ESP8266
-
@Malz1902 Hallo, bin kein smartmeter-Adapter Spezialist. Aber der Smartmeter Adapter bietet keine Digitalinputs an, wie man sie für einen S0-Zähler bräuchte.
Also braucht man zumindest etwas dazwischen, welches die Werte dem smartmeter Adapter anbietet. Entweder per Netzwerk, also z.B. als TCP Server oder als eingelagerte JSON Datei. Da kann man sich Lösungen vorstellen.
Aber für mich war es einfacher und schneller einen ESP8266 zu nehmen, ESPEasy drauf Pulse Counter ausgewählt und ein JS-Script zu schreiben, welches sich um die Kumulation der Daten kümmert.