NEWS
Test Adapter sma-em v0.5.x
-
Guten Morgen,
sorry für die lange Auszeit. War total dem Kryptowahn verfallen.
Der Adapter wird jetzt natürlich v3 ready gemacht und das mit den Logikwerten prüfe ich natürlich.
Gruß Marco
-
Hi Marco,
erst einmal mega cool, dass du diesen Adapter gebaut hast.
Bei mir mag er leider nix anzeigen… Nutze einen Sunny Home Manager 2.0
Muss ich da noch irgendetwas beachten?
Gruß und Danke jetzt schon
Sven
Nachtrag:
evtl. war ich zu ungeduldig - nach Reboot von iobroker und ein paar Minuten weiteren Wartens, werden Daten angezeigt, aber irgendwie springt der Adapter immer wieder auf rot, gelb und irgendwann auf grün….
-
Hallo,
ich hänge mich mal an. Nachdem ich es geschafft habe den Adapter zu installieren bleibt er bei mir auch auf rot.
Sieht für mich so aus wie wenn die Datenpaketgröße nicht passt.
Caught
2018-12-30 13:52:23.074
error
by controller[0]: at UDP.onMessage [as onmessage] (dgram.js:685:8)
Caught
2018-12-30 13:52:23.074
error
by controller[0]: at Socket.emit (events.js:189:13)
Caught
2018-12-30 13:52:23.074
error
by controller[0]: at Socket. <anonymous>(C:\Program Files (x86)\iobroker\node_modules\iobroker.sma-em\main.js:69:35)
Caught
2018-12-30 13:52:23.074
error
by controller[0]: at Uint8Array.readUIntBE (internal/buffer.js:161:3)
Caught
2018-12-30 13:52:23.074
error
by controller[0]: at boundsError (internal/buffer.js:50:9)
Caught
2018-12-30 13:52:23.074
error
by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "byteLength" is out of range. It must be >= 1 and <= 6.
Gruß Michael</anonymous>
-
ist Port 9522 offen?
Gib mal auf der Konsole
netstat -npl | grep ":9522"
ein und schau mal was da zurückkommt!
-
Hallo,
läuft bei mir unter Windows. Firewall UDP 9522 ist offen. Aber guter Hinweis, wenn ich mit netstat schaue
lauscht kein Prozess auf UDP 9522….
UDP 0.0.0.0:500 :
UDP 0.0.0.0:3389 :
UDP 0.0.0.0:3702 :
UDP 0.0.0.0:3702 :
UDP 0.0.0.0:4500 :
UDP 0.0.0.0:5050 :
UDP 0.0.0.0:5353 :
UDP 0.0.0.0:5355 :
UDP 0.0.0.0:49667 :
UDP 127.0.0.1:1900 :
UDP 127.0.0.1:49664 :
UDP 127.0.0.1:59756 :
UDP 192.168.1.120:137 :
UDP 192.168.1.120:138 :
UDP 192.168.1.120:1900 :
UDP 192.168.1.120:59755 :
UDP [::]:500 :
UDP [::]:3389 :
UDP [::]:3702 :
UDP [::]:3702 :
UDP [::]:4500 :
UDP [::]:5353 :
UDP [::]:5355 :
UDP [::]:49668 :
UDP [::1]:1900 :
UDP [::1]:59754 :
UDP [fe80::14f5:4b1f:b2d7:e715%15]:1900 :
UDP [fe80::14f5:4b1f:b2d7:e715%15]:59753 :
Oder er stirbt schneller wie ich es sehe…
Nachtrag auch mit deaktivierter Firewall keine Besserung.
-
Firewall testweise mal komplett aus!?
-
ja, ich schreib mal kurz ein Programm heute Abend und schau mal was da ankommt…
-
So ich habe jetzt mal ein bischen gespielt. Mein ByteArray hat eine Größe von 600 und mit dem empfange ich auch die Daten.
Kleiner geht nicht größer geht, ist dann aber 0..
Wenn mein kleiner Listener läuft sehe ich ihn auch im netstat….
UDP 0.0.0.0:9522 :
Ich vermute fasst das er garkein UDP Listener aufbekommt. Kann mir jemand sagen wie ich an den Adapter am einfachsten einen Debugger bekomme?
Dann sehe ich vielleicht mehr warum er rausfliegt.
-
So ich habe jetzt mal ein bischen gespielt und mein Adapter läuft jetzt. Leider weiß ich aber nicht warum. Besser gesagt ich weiß schon warum,
aber wieso das der Adapter bei anderen so funktioniert weiß ich nicht. Hier meine Änderung:
Ich habe in der main.js bei allen Points in der als Length die 8 vorkam durch eine 6 ersetzt.
Beispiel:
Original:
var points = {
'SMASerial': {offset: 20, length: 4, factor: 1, unit: ''},
'pregard': {offset: 32, length: 4, factor: 1 / 10, unit: 'Watt'},
'pregardcounter': {offset: 40, length: 8, factor: 1 / 3600000, unit: 'kWh'},
'psurplus': {offset: 52, length: 4, factor: 1 / 10, unit: 'Watt'},
'psurpluscounter': {offset: 60, length: 8, factor: 1 / 3600000, unit: 'kWh'}
};
Angepasst:
var points = {
'SMASerial': {offset: 20, length: 4, factor: 1, unit: ''},
'pregard': {offset: 32, length: 4, factor: 1 / 10, unit: 'Watt'},
'pregardcounter': {offset: 40, length:6, factor: 1 / 3600000, unit: 'kWh'},
'psurplus': {offset: 52, length: 4, factor: 1 / 10, unit: 'Watt'},
'psurpluscounter': {offset: 60, length: 6, factor: 1 / 3600000, unit: 'kWh'}
Warum habe ich das gemacht? ich habe das Logging mal erweitert und gesehen das er die beiden
'SMASerial': {offset: 20, length: 4, factor: 1, unit: ''},
'pregard': {offset: 32, length: 4, factor: 1 / 10, unit: 'Watt'},
noch lesen konnte. Dann habe ich mir nochmal die Fehlermeldung angesehen:
by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "byteLength" is out of range. It must be >= 1 and <= 6.
Größer 1 kleiner= 6 er hat aber die 8 erhalten. Deswegen habe ich jetzt mal alles auf length: 6 gedreht und siehe da der Adapter startet und
liefert auch die richtigen Werte was ich bisher gesehen habe.
Vielleicht kann der AdapterOwner oder jemand anderes noch was dazu sagen ….
Gruß
Michael
-
Sehr suspekt!
Ich habe das ganze bei mir letzten Freitag in Betrieb genommen und alles lief problemlos ohne irgendwelche Anpassungen.
Was hat dein Energy Meter für eine Firmwareversion?
Ich habe hier die "Firmware-Version: 2.0.18.R", scheint die aktuellste zu sein.
-
Das könnte durchaus das Problem sein. Habe schon lange kein Update mehr gemacht.
Firmware-Version
1.02.04.R
Hast du auch das Engerymeter "1"? Oder schon das zweier?
ich lade mal eine neue Firmware dann sollte das Problem ja wieder auftreten und dann ändere ich sie wieder ab auf original.
Update: Ich glaube du hast schon die neue Version. Auf der SMA Seite ist die 1.02.04.R die letzte als Download.
Die 2.0X sind wohl für das Emter-20 ich habe das Emeter-10
https://www.sma.de/produkte/monitoring- … meter.html
unter Release Notes
-
Das könnte durchaus das Problem sein. Habe schon lange kein Update mehr gemacht.
Firmware-Version
1.02.04.R
Hast du auch das Engerymeter "1"? Oder schon das zweier? `
Habe das "neue", erst frisch zugelegt!
Probier mal, bin gespannt was rauskommt?
-
Also ich würde fast sagen da liegt der Hase begraben.
Vielleicht kann ja sven-rhein der das gleiche Problem hat/hatte wie ich mal melden was er für ein SmartMeter hat.
-
Ich verstehe es nicht. :shock:
Habe jetzt das PDF Dokument gefunden was SMA für das "Protokoll" bereitstellt.
Zähler haben immer die Messart 8 (Zeitintegral1, Zählerstände) und werden mit einer Datenlänge von 8 Byte übertragen.
-
Hi Leute,
nachdem ich gestern ein Host + NodeJS + NPM Update bei mir durchgeführt habe, hatte ich plötzliche dieselbe Fehlermeldung wie buemi im errorlog und der SMA Adapter wollte nicht mehr:
"by controller[0]: RangeError [ERR_OUT_OF_RANGE]: The value of "byteLength" is out of range. It must be >= 1 and <= 6."
Vorher ist der Adapter monatelang ohne Fehlermeldung und ohne spezielle Anpassung gelaufen.
Deinstallation + Neuinstallation hat nichts gebracht.
Ich musste ebenfalls wie buemi (danke für den Hinweis) die main.js Datei des Adapters editieren und alle 8er gegen 6er tauschen.
Seitdem läuft der Adapter nun wieder.Ich vermute daher also, dass das Problem eventuell mit den neueren Versionen vom Host oder von nodejs zusammenhängt, da sich sonst bei mir nix an der Infrastruktur geändert hat ...
Beste Grüße
-
Nun habe ich hier auch mal eine Frage:
Wenn man den Home Manager verwendet, ist es dann möglich zu sehen was gerade über die PV generiert wird? Denn ich sehe immer nur ob und wieviel gerade vom Netz entnommen(psregard) oder eingespeißt(psurplus) wird.Denn im Sunnyportal sieht man ja die aktuell generierte, Eigenverbrauchte und evtl. entnommene Leistung in dem schönen Drei Balken Bildchen.
Oder muss ich dazu ebenfalls den Modbus Adapter laufen lassen um am Wechselrichter explizit die generierte Leistung abzufragen und das dan auszurechnen?
-
ja, du brauchst um dieselbe Funktionalität wie im Sunny Portal (3 Balken) zu erreichen, zusätzlich den Modbus Adapter und musst die Werte dann entsprechend per Skript berechnen ...
-
@Qlink
Die Daten sollten doch aber auch über die Multicasadresse abgreifbar sein oder bin ich da falsch gewickelt?Dann wäre es ja "nur" nötig die fehlenden Datenpunkte in den Adapter auf zu nehmen
-
Der dafür wichtige Wert PV-Leistung (bzw. im Sunny Portal heißt er PV Erzeugung) wird bei zumindest bei mir nicht vom SMA-EM Adapter ausgelesen, sondern nur über den Modbus Adapter ...
-
@Qlink
Und genau da liegt mein Problem, weil das mit Modbus bei mir nicht klappen will