NEWS
Test Adapter sma-em v1.1.x Latest
-
@sneak-l8 sagte in Test Adapter sma-em v0.7.x Latest:
Energy-Meter: 349 (Version 2.0.16.R)
Mein EnergyMeter hat die Version 2.0.18.R und läuft tadellos mit der 0.7.0 - alle DP´s werden aktualisiert
-
Hallo,
der Adapter läuft auch bei mir soweit. Vermissen tue ich den Wert der erzeugten Energie der Solaranlage.
System: Pi 4, bullseye,
Mein Problem aktuell ist, das ich scrypted in einem Docker Container auf diesem Pi am laufen habe(ist der einzige Container), mich nicht wirklich damit auskenne und dieser erzeugt ein veth device, das sma-em beim Start abbrechen lässt. Ich lösche das Netzwerkgerät aktuell nach einem Reboot manuell und restarte SMA-EM, besser wäre jedoch wenn sma den Fehler behandeln und weiter machen würde.
2023-05-07 05:03:37.897 - info: sma-em.0 (4999) starting. Version 0.7.0 in /opt/iobroker/node_modules/iobroker.sma-em, node: v18.16.0, js-controller: 4.0.24 2023-05-07 05:03:38.039 - info: sma-em.0 (4999) Details L1 false Details L2 false Details L3 false Extended Mode true RealTime Interval 1 non-Realtime Interval 30 Language: de 2023-05-07 05:03:38.042 - info: sma-em.0 (4999) Listen via UDP on Device eth0 with IP 192.168.178.96 on Port 9522 for Multicast IP 239.12.255.254 2023-05-07 05:03:38.045 - info: sma-em.0 (4999) Listen via UDP on Device br-e5c20c4ceb49 with IP 172.18.0.1 on Port 9522 for Multicast IP 239.12.255.254 2023-05-07 05:03:38.046 - info: sma-em.0 (4999) Listen via UDP on Device veth41362bb with IP 169.254.120.116 on Port 9522 for Multicast IP 239.12.255.254 2023-05-07 05:03:38.047 - info: sma-em.0 (4999) Listen via UDP on Device veth41362bb with IP 169.254.246.139 on Port 9522 for Multicast IP 239.12.255.254 2023-05-07 05:03:38.053 - error: sma-em.0 (4999) uncaught exception: addMembership EADDRINUSE 2023-05-07 05:03:38.056 - error: sma-em.0 (4999) Error: addMembership EADDRINUSE at Socket.addMembership (node:dgram:852:11) at Socket. (/opt/iobroker/node_modules/iobroker.sma-em/main.js:200:12) at Socket.onListening (node:dgram:255:7) at Socket.emit (node:events:513:28) at startListening (node:dgram:181:10) at node:dgram:369:7 at process.processTicksAndRejections (node:internal/process/task_queues:83:21) 2023-05-07 05:03:38.058 - error: sma-em.0 (4999) Exception-Code: EADDRINUSE: addMembership EADDRINUSE 2023-05-07 05:03:38.087 - info: sma-em.0 (4999) cleaned everything up... 2023-05-07 05:03:38.089 - info: sma-em.0 (4999) terminating 2023-05-07 05:03:38.092 - warn: sma-em.0 (4999) Terminated (UNCAUGHT_EXCEPTION): Without reason 2023-05-07 05:03:38.094 - info: sma-em.0 (4999) UDP Socket closed ... 2023-05-07 05:03:38.753 - error: host.tims-pi1 instance system.adapter.sma-em.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2023-05-07 05:03:38.755 - info: host.tims-pi1 Restart adapter system.adapter.sma-em.0 because enabled 2023-05-07 05:03:38.755 - warn: host.tims-pi1 Do not restart adapter system.adapter.sma-em.0 because restart loop detected
-
@ticaki said in Test Adapter sma-em v0.7.x Latest:
Vermissen tue ich den Wert der erzeugten Energie der Solaranlage.
Der SHM bzw. der SMA-EM erfassen nur die Daten der jeweils durchgeschleiften Phasen. Da der SHM typischerweise zwischen Hausanschlusspunkt und Haus(strom)netz angeschlossen ist, kann er nur den am Hausanschlusspunkt eingespeisten oder den im Haus insgesamt verbrauchten Strom messen. Um die von der PV-Anlage erzeugte Energie mit dem sma-em Adapter zu erfassen, müsste ein weiterer SMA-EM in die Leitungen zu den PV-WR eingeschleift werden. Glücklicherweise messen die PV-WR die erzeugte Energie selbst, so dass ein zusätzlicher SMA-EM als Erzeugungszähler in der Regel nicht nötig ist. Um die erzeugte PV-Energie aus den SMA-WR per ioBroker auszulesen, verwendet man am besten den modbus-Adapter (dies ist in diesem Thread auch schon mehrfach angesprochen worden - einfach mal nachlesen.)
Das aktuelle Problem mit EADDINUSE würde ich gerne auf Github weiterverfolgen.
-
@pdbjjens
Danke für die ausführliche Antwort und werde es nachlesen. -
@ticaki da ich vor kurzem auch das problem hatte und mir einen abgesucht habe
hier meine Datenpunkte mit denen ich rechne
-
@arteck
Danke, muss leider noch den server aktivieren lassen. -
@winni
Hallo miteinander. Ich bekomme keine Verbindung zum HM 2.0 mit dem SMA-EM Version 0.7.0.
Was ich versucht habe: Installation von Github manuell. (Installation geht ohne Probleme),
Problem ist jedoch: Verbinden mit "Gerät oder Dienst geht nicht." Ich vermute dass ich die Muticast adresse nicht empfangen kann. Habe schon mit Wireshark versucht den Datenverkehr rauszufinden. Leider finde ich nichts unter der Multicast Adresse: 239.12.255.254. Iobroker läuft unter windows auf meinem PC. Firewall habe ich deaktiviert. Anlagenaufbau: 1x SHM 2.0, 1x SMA STP12, 1x SMA EV Charger
Komme einfach nicht weiter. Hoffentlich kann einer helfen. -
@kris-ko
Zunächst empfehle ich , den Adapter nicht von GitHub zu installieren, sondern aus dem "Latest" (Beta) Repository. Auf GitHub können sich ungetestete Zwischenstände befinden, die ggf. Fehler erzeugen.
Also, bitte den Adapter komplett deinstallieren und dann aus dem "Latest" neu installieren. Bitte dann ein Protokoll des Adapter Starts hier posten. (Wenn möglich vorher log-level "debug" einstellen.).
Fragen: läuft auf dem WindowsPC oder im iobroker noch eine andere App z.B. EVCC oder ein Adapter der ebenfalls auf diese Multicast-Adresse lauscht?
Oft liegt das Problem im Netzwerk. SMA hat da ganz besondere Anforderungen bzgl. der Multicast-Eigenschaften des Netzwerks.
Zitat SMA:
"Alle verwendeten Netzwerkkomponenten müssen das IGMP-Protokoll mindestens in der Version 3 (IGMPv3) unterstützen. Wenn im System Ethernet Switches verwendet werden, ist sicherzustellen, dass diese kein "IGMP-Snooping" vornehmen. Bei den meisten einfachen Switches ist dies gegeben, bei höherwertigen "gemanagten" Switches ist diese Funktion auszustellen. Bei der Verwendung von Medienkopplern wie z. B. Powerline Adaptern kann es zu Übertragungsproblemen kommen. Meist sind diese Geräte durch einen Firmware-Update des Herstellers für den Multicast-Betrieb zu ertüchtigen."Weitere Ursachen können sein: SHM in anderem Subnetz oder VLAN als iobroker, Router, die kein Multicast weiterleiten, Docker Installationen, die Multicast nicht durchschleifen etc. Letzteres entfällt bei Dir natürlich
-
Ich arbeite zur Zeit an einem neuen Release des sma-em mit einigen Fehlerbehebungen und einer funktionalen Erweiterung bzgl. der Auswahlmöglichkeit eines bestimmten Netzwerks auf das auf Multicasts des SHM oder SMA-EM gelauscht werden soll (anstelle auf alle vorhandenen). Diese Auswahlmöglichkeit wurde immer mal wieder nachgefragt, da sich beim Verbinden mit allen Netzwerken oft unerwartete Fehler ergaben - insbesondere in Docker-Umgebungen.
Die ganz Wagemutigen unter euch können sich den Adapter von
https://github.com/iobroker-community-adapters/ioBroker.sma-em.git
installieren.
Aber VORSICHT: es ist ein Pre-Alpha Stand und Ihr solltet wissen, was Ihr tut - insbesondere nicht auf einem produktiven ioBroker installieren!
Aber ich wäre wirklich über jedes Feedback erfreut - insbesondere, ob die neue IP-Auswahlfunktion auf der Config-Seite des Adapters euren Erwartungen und Anforderungen entspricht. -
@pdbjjens Hallo, habe mal erst von github und dann über den link (https://github.com/pdbjjens/ioBroker.sma-em.git) installiert. Es bleibt aber immer bei der Version 0.7.
-
@winni
Ja, das ist korrekt so, ich habe noch kein neues Release gemacht; es bleibt daher bei v0.7.0. Wenn Du aber von GitHub direkt (Benutzerdefiniert) installierst, müsstest Du auf der Konfigurationsseite "Multicast Einstellungen" eine neue Auswahlbox "Eigene Netzwerk-Schnittstellen IPs" eine Liste der verfügbaren IPs Deines Hosts finden, wovon Du alle oder eine auswählen kannst. -
@pdbjjens danke für deine Antwort, so habe ich es gemacht, schau:
Ich sehe aber keinen Unterschied zu vorher.
Oder habe ich Tomaten auf den Augen -
@winni
ich installiere ihn mit dieser Angabe:https://github.com/iobroker-community-adapters/ioBroker.sma-em
und das hat jetzt 4 mal funktioniert(hab vorher getestet und meine eigene Version gehabt)
-
@ticaki Ok, so hats funktioniert, danke
Edit: Schaut gut aus, läuft
-
-
@pdbjjens Kein Problem, der Adapter läuft gut. Danke für deine Arbeit
-
@pdbjjens
Danke für deine Arbeit.
Mit dem letzten update wurde die Zeitbegrenzung eingeführt um die Systemlast kleiner zu machen.
Die Zeiten haben einen min. Wert von 1sek. bzw 30sek.
Da meine Bezug/Einspeisung pfeile in der vis die Daten von diesem Adapter bekommen.
Kommen die Daten zu langsam an, überschneiden sich Pfeile in der Vis manchmal.
Gibt es eine möglichkeit diese Zeitbegrenzun raus zu nehmen? -
@tuning said in Test Adapter sma-em v0.7.x Latest:
Gibt es eine möglichkeit diese Zeitbegrenzun raus zu nehmen?
Nein, die Möglichkeit gibt es nicht. Das sollte auch nicht nötig sein, denn genau wie früher werden die realtime Datenpunkte synchron zum selben Zeitpunkt upgedatet, nur eben im Abstand von minimal 1s (früher 200ms, 600ms oder 1s je nach Einstellung des EM oder SHM).
Allerdings möchte ich Dein Problem genauer verstehen.
Wie lange dauert denn die Überschneidung der Pfeile (bei einem Realtime-Intervall von 1s)?
Ich nehme an, Du nutzt die Datenpunkte pregard bzw. psurplus?
Weiterhin nehme ich an, dass Du ein Javascript oder Blockly verwendest um die Vis (welche?) anzusteuern.
Wenn Du Dein Skript hier posten magst, gibt es vielleicht Hinweise wie man die Asynchronitäten der Auslesung und Anzeige der Datenpunkte in den Griff kriegen kann.Ergänzung: Durch die Mittelwertbildung während des Aktualisierungsintervalls kann es passieren, das die Werte von pregard bzw. psurplus beide > 0 sind. Da Dein Skript vermutlich auf > 0 abfragt, führt das dann zu dem von Dir bemerkten Zustand für die Dauer eines Aktualisierungsintervalls (1s).
Ich sehe da mehrere Lösungsmöglichkeiten:- Änderung Deines Skripts, so dass eine Umschaltung der Pfeilrichtung erst erfolgt, wenn einer von beiden Werten = 0 und der andere > 0 ist.
- Generelle Abschaltung der Mittelwertbildung im Adapter für alle realtime Datenpunkte d.h. es wird jeweils der letzte Wert des Aktualisierungsintervalls genommen. Dadurch ist sichergestellt, dass ein eindeutiger Wert =0 oder >0 in pregard bzw. psurplus steht. Nachteil ist, dass eventuelle Änderungen des Leistungswertes während des Aktualisierungsintervalls nicht berücksichtigt werden und es daher zu Ungenauigkeiten kommt, wenn man die Leistungsmesswerte z.B. zur Berechnung der Arbeit benutzen möchte.
- Modifikation der Mittelwertbildung im Adapter für alle realtime Datenpunkte in der Weise, dass wenn pregard bzw. psurplus während eines Aktualisierungsintervalls mindestens 1-mal auf 0 geht, wird der letzte Messwert des Aktualisierungsintervalls statt des Mittelwerts genommen. So ist sichergestellt, dass am Ende des Aktualisierungsintervalls ein eindeutiger Wert =0 oder >0 in pregard bzw. psurplus steht. Nachteil ist dabei, dass sich dadurch Ungenauigkeiten bei der Arbeitsberechnung (s.o.) ergeben- wenn auch geringere.
Im Interesse einer möglichst hohen Messgenauigkeit würde ich die beiden letzten Alternativen nicht bevorzugen. Wie sehen Du und andere User hier im Forum das?
-
@pdbjjens
Mir ist noch nicht aufgefallen, das einer der Werte nicht null war. Hab aber auch keine Wellenpaketsteuerung an einem großen Verbraucher. -
@ticaki
Mir schon, z.B. an einem Tag wie heute mit geringen Solarerträgen die auch noch häufig schwanken, kommt es vor, dass die Richtung oft (im 200 Millisekundentakt!) wechselt und durch die Mittelwertbildung pregard bzw. psurplus beide gleichzeitig >0 sind. Aber ich meine, das kann man gut in einem Skript abfangen (statt im Adapter). Das hätte den zusätzlichen Vorteil, dass in der VIS die Pfeilrichtung nicht so häufig wechselt.