Autor Thema: Neu: 77_SMAEM - Modul für SMA Energie Meter. Alternative zum Sunny Home Manager.  (Gelesen 127816 mal)

Offline elo

  • Jr. Member
  • **
  • Beiträge: 50

Heute wurde der fhem.pl Prozess wieder beendet, aufgrund von Speichermangel.
Ich habe den Raspi restartet und das Modul SMAEM resettet.

2020-12-14 09:21:40 Global global ATTR PV89_SMAEM verbose 5
..mehr kommt nicht zum Modul, scheinbar läuft es nicht.

Die einzige Fehlermeldung welche ich im Log sehen kann ist 1x "2020.12.14 09:17:28 0 : Cant open FHEM: No such file or directory" kann mir aber nicht erklären wozu die gehören soll. Das einzige was nach dem Reboot nicht läuft ist das SMAEM, das muss resettet und FHEM neu gestartet werden.
--
Raspi + FHEM 5.8 + HM-MOD-PCB + HM-LAN + HM-LC_Bl1PBU-FM + HM-LC-BL1-FM + HM-PB-2-WM + HM-LC-SW1-FM + HM-TC-IT-WM-W-EU + HM-CC-RT-DN

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7474
Die Meldung "2020.12.14 09:17:28 0 : Cant open FHEM: No such file or directory" sagt mir leider auch nichts addhoc, aber aus dem SMAEM Modul ist sie nicht, die sehen anders aus. Da sie mit dem verbose level 0 geschrieben ist, gehe ich ganz stark von einer Meldung aus fhem.pl aus. Muss mal im Code suchen ob ich die finde.
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Eifelman

  • New Member
  • *
  • Beiträge: 11
Hallo,

mein EnergyMeter zeigt zwar die Frequenz an (siehe Anhang), liefert sie aber nicht aus wg. zu alter Firmware: Software Version -> 2.00.16.R

2021.03.26 16:31:37 5: SMAEM smaEnergyMeter - received 600 bytes from "1901403xxx" but interval 60s isn't expired.
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - ###############################################################
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - ### Begin of new SMA Energymeter 1901403xxx get data cycle ###
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - ###############################################################
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - discarded cycles since module start: 0
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - last update time set to: 26.03.2021 / 16:31:38
2021.03.26 16:31:38 4: SMAEM smaEnergyMeter - Blocking process with PID: 10997 started
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - OBIS metrics identified:
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 144:0.0.0 -> Software Version -> 2.00.16.R
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:1.4.0 -> SUM Wirkleistung Bezug -> 0
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:1.8.0 -> SUM Wirkleistung Bezug Zaehler -> 34277053320
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:10.4.0 -> SUM Scheinleistung Einspeisung -> 5274
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:10.8.0 -> SUM Scheinleistung Einspeisung Zaehler -> 42496968960
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:13.4.0 -> SUM Leistungsfaktor -> 742
2021.03.26 16:31:38 5: SMAEM smaEnergyMeter - 1:2.4.0 -> SUM Wirkleistung Einspeisung -> 3911

Lt. Installationsanleitung gibt es eine aktuelle Firmware auf www.SMA-Solar.com. Also eigentlich alles ganz easy, wenn man denn die Firmware hätte. Ich habe sie leider nicht gefunden. Hat jemand einen Link für mich?


Viele Grüße
Manfred
Grüße aus der Eifel
--------------------------------------------------------------------------------------------------
FHEM auf Raspberry Pi 4 mit CUL868&433, RaspBee, ioBroker & Node-Red

Offline fritzmeier

  • New Member
  • *
  • Beiträge: 13
Hallo,
kann mir jemand die readings zukommen lassen, welche das Modul 77_SMAEM liefert?
In der Wiki habe ich diese nicht gefunden
https://github.com/kettenbach-it/FHEM-SMA-Speedwire

ich bin gerade daran dieses auf meine Anlage umzuschreiben
https://forum.fhem.de/index.php/topic,120616.msg1151692.html#msg1151692

jedoch tue ich mich schwer, da ich nicht weiß was diese Readings bedeuten oder liefern

ein paar habe ich so umgeschrieben bzw. erstellt aus den OBIS Readings

Bezug_Wirkleistung:.*  {if (ReadingsVal($name,"power",0) > 0 ) {return (ReadingsVal($name,"power",0))} else {return 0};;},
Bezug_Wirkleistung_Zaehler:.*  {ReadingsVal($name,"total_consumption",0)/1000},
Einspeisung_Wirkleistung:.* {if (ReadingsVal($name,"power",0) < 0 ) {return (ReadingsVal($name,"power",0)*-1)}else {return 0};;},
Einspeisung_Wirkleistung_Zaehler:.* {ReadingsVal($name,"total_feed",0)/1000},
Saldo_Wirkleistung:.* {ReadingsVal($name,"Einspeisung_Wirkleistung",0)- ReadingsVal($name,"Bezug_Wirkleistung",0)}

27.04 readings geändert

total_consumption,total_feed
wie kommen diese zustande:
Bezug_WirkP_Zaehler_Diff
Einspeisung_WirkP_Zaehler_Diff
Einspeisung_WirkP_Verguet_Diff
Bezug_WirkP_Kosten_Diff


Grüße
Fritzmeier
« Letzte Änderung: 27 April 2021, 21:34:35 von fritzmeier »

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7474
Hallo Fritzmeier,

ich kann jetzt nicht wirklich erkennen welche Infos dir eigentlich fehlen.
Aber ...

Zitat
wie kommen diese zustande:
Bezug_WirkP_Zaehler_Diff
Einspeisung_WirkP_Zaehler_Diff
Einspeisung_WirkP_Verguet_Diff
Bezug_WirkP_Kosten_Diff
Die Diff-Readings werden intern vom Modul berechnet und das Reading generiert.

Grüße,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline fritzmeier

  • New Member
  • *
  • Beiträge: 13
Hallo,
vielen Dank, jetzt wird schon was angezeigt.
Aber so richtig noch nicht...
Die Auszüge aus der fhem.cfg anbei, denke übersichtlicher als direkt hier.
   


aktueller WertHeutedieser Monatdieses Jahr
PV-Erzeugung844.0 W4.7 kWh16.1 kWh40.8 kWh
Einspeisung284,46 W0 kWh0 kWh0 kWh
Bezug0 W0 kWh0 kWh0 kWh
Energieverbrauch559.5 W4.7 kWh16.1 kWh40.8 kWh
Autarkiequote100 %100 %100 %100 %
Eigenverbrauchsquote66 %100 %100 %100 %
Berechnung am2021-05-02 13:21:272021-05-02 13:10:082021-05-02 13:10:082021-05-01 20:15:00

userReadings OBIS
Bezug_Wirkleistung:.* {if (ReadingsVal($name,"power",0) > 0 ) {return (ReadingsVal($name,"power",0))} else {return 0};;},
Bezug_Wirkleistung_Zaehler:.* {ReadingsVal($name,"total_consumption",0)/1000},
Einspeisung_Wirkleistung:.* {if (ReadingsVal($name,"power",0) < 0 ) {return (ReadingsVal($name,"power",0)*-1)}else {return 0};;},
Einspeisung_Wirkleistung_Zaehler:.* {ReadingsVal($name,"total_feed",0)/1000},
Saldo_Wirkleistung:.* {ReadingsVal($name,"Einspeisung_Wirkleistung",0)- ReadingsVal($name,"Bezug_Wirkleistung",0)},
TotalConsumption:.* {ReadingsVal($name,"Bezug_Wirkleistung",0) + ReadingsVal("WRFronius","total_pac",0)-ReadingsVal($name,"Einspeisung_Wirkleistung",0)}

userReadings Fronius
total_pac:.* { ReadingsVal($name,"Inverter_Common_PAC_Value",0)/1000 ;;},
etoday:.* { ReadingsVal($name,"Inverter_Common_DAY_ENERGY_Value",0)/1000 ;;},
modulstate:.* { if(ReadingsVal($name,"state","") eq "connected") {return "normal"} else {return "sleep"}},
etotal:.* { ReadingsVal($name,"Inverter_Common_TOTAL_ENERGY_Value",0)/1000 ;;}

wie kann der Fehler am besten gefunden werden?

Rep. > alles grün

02.05.2021 etoday noch angepasst
welche Readings müssen in die DBlog geschrieben werden?
"Für das Logging in der DB werden Differenzwerte verwendet " Was sind das für Werte?
bisher habe ich nur
für Stromzaehler:
Einspeisung_Wirkleistung_Zaehler
Einspeisung_Wirkleistung
Bezug_Wirkleistung_Zaehler
Bezug_Wirkleistung

für Wechselrichter:
total_pac
etotal
etoday

was bei Fronius nicht geht:
SBFSpotComp 1
detail-level 2
mode manual
offset 0
showproctime 1
suppressSleep 0
target-serial <Serial-No>
target-susyid <SysID>
timeout 30

liegt es daran? Gibt es da Alternativen?

Grüße
Fritzmeier
« Letzte Änderung: 04 Mai 2021, 20:33:29 von fritzmeier »

Offline jonas71

  • New Member
  • *
  • Beiträge: 15
Hallo zusammen.

Seit heute 19 Uhr bekomme ich keine Daten mehr vom HM.
Nur noch:
"Buffer length 610 is not usual. May be your meter has been updated with a new firmware."

Check im Portal:
Keine Updates, Software Version immernoch 2.06.6.R .
Dafür aber aktuelle Verbrauchstdaten dort, SM ist also nicht kaputt.

Ideen, Vorschläge?


Offline jonas71

  • New Member
  • *
  • Beiträge: 15
"Buffer length 610 is not usual. May be your meter has been updated with a new firmware."

Habe nun im Script in Zeile 1415 einfach mal

elsif($dl == 610) {
         $model = "HM 2.0 >= 2.06.6.R";
  }

hinzugefügt.

Scheint zu laufen.

Frage mich nur:
Wieso hat das früher funktioniert?
Spielt SMA neuerdings updates ein ohne es im Log zu erwähnen?
Und warum bin ich scheinbar der einzige hier mit dem Problem?

Fragen über Fragen...  ;)

Offline 300P

  • Full Member
  • ***
  • Beiträge: 128
Habe nun im Script in Zeile 1415 einfach mal

elsif($dl == 610) {
         $model = "HM 2.0 >= 2.06.6.R";
  }

hinzugefügt.

Scheint zu laufen.

Frage mich nur:
Wieso hat das früher funktioniert?
Spielt SMA neuerdings updates ein ohne es im Log zu erwähnen?
Und warum bin ich scheinbar der einzige hier mit dem Problem?

Fragen über Fragen...  ;)

Das gleiche Thema war Ende 2019 bereits. 600 Byte -> 608 Byte
 Eventuell einmal die Update-Funktion + Restart nutzen, damit sollte es bei Dir „drin“ sein...... ;D

Gruss
300P



Nachsatz........


Hallo miteinander,

durch die super Vorarbeit/Anregung von Andreas (RiG) habe nun etliche Neuerungen und Änderungen im Modul sehr zügig durchführen können.
Um es zu verdeutlichen ist die Versionierung auf 4.0.0 gesetzt.

Hier alles im Überblick:

* Komplettumstellung auf OBIS Kennzahlen
  Ein Offset ist nicht mehr nötig und wurde entfernt.

 
* Das Reading "FirmwareVersion" wurde nach "SoftwareVersion" umbenannt.
  Dadurch passt es sich besser in den Readinglesefluss in der Detailansicht ein.
 
* Die Readings "Lx_THD" wurden alle  nach "Lx_Strom" geändert.
  Ich kann heute nicht mehr sagen wie wir damals auf THD (den Klirrfaktor) gekommen waren.

* es gibt ein neues Attribut "noCoprocess"
  Als wir vor ein paar Jahren das Modul entwickelten, kam es häufig zu Freezes in FHEM wenn die Daten des EM verarbeitet
  wurden. Aus diesem Grund wurde das Modul auf non-Blocking umgestellt. Dadurch wird bei jedem Zyklus (bei mir alle 60s)
  ein Hintergrundprozess zu Abarbeitung gestartet.
  Nicht in jedem Fall ist das aber vom Nutzer gewünscht oder nötig. Es sind ein paar Jahre vergangen und die eingesetzte
  Hardware hat sich verändert, etc.
  Mit diesem Attriibut kann man nun festlegen, dass kein Hintergrundprozess verwendet werden soll.
  Ohne Hintergrundprozess liegt SMAEM_Read bei mir mit apptime max gemessen bei 290 - 519 ms, mit Hintergrundprozess zeigt SMAEM_Read nur 17 ms.  :D
  Wie dem auch sei, der Nutzer hat nun die Möglichkeit zu entscheiden wie er das Modul betreiben möchte.
 
* neue Kennzahlen werden im verbose 5 Log mit "unknown item" gekennzeichnet und es wird das Reading "OBISnewItems" generiert
  Durch die Umstellung der Readingerstellung mit OBIS Kennzahlen bekommt man nicht mehr mit wenn durch ein Firmware Update
  neue Kennzahlen hinzukommen (außer bei verbose 5 Log).
  Aus diesem Grund wird das Reading "OBISnewItems" erstellt. Es enthält den Wert "none" wenn alle empfangenen OBIS Kennzahlen
  im Modul bekannt sind. Kommen neue hinzu die noch nicht im obisitem-Hash benannt sind, werden diese OBIS in diesem Reading
  ausgegeben, z.B.
 
                  OBISnewItems  1:10.8.0,1:13.4.0
 
  Wenn man als Nutzer so etwas bemerkt, kann man nun reagieren und hier im Thread eine Meldung aufmachen damit dieses Item
  aufgenommen wird.
 
 
Das wären erstmal die aktuellen Neuerungen und ich hoffe dass sich dadurch wieder ein Fortschritt bzw. Mehrwert für die Modulnutzer ergibt.

Da sich teilweise die Readings geändert haben, müsst ihr die alten loswerden. Das kann man ganz einfach durch kurzzeitiges
switchen des Attributs "disableSernoInReading" erreichen. Dadurch werden immer alles Readings gelöscht und neu aufgebaut.

Die neue Version liegt wieder in meinem contrib zum Test bereit.
Insbesondere MiVo69 bitte ich wieder um einen Test ob das neue OBIS Item erkannt wird.
Bei mir habe ich bisher beim Vergleich mit der produktiven Instanz (Version 3.5.0) keine Unterschiede feststellen können,
d.h. ich sollte keine falschen Zuordungen, Dreher usw. implementiert haben.

Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben:

"wget -qO ./FHEM/77_SMAEM.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/77_SMAEM.pm"
Grüße,
Heiko

« Letzte Änderung: 06 Mai 2021, 20:13:28 von 300P »
FHEM 6.0 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - Robonect - allergy -  DbLog/DbRep -MariaDB auf QNAP - HTTPMOD Stromzähler Discovergy - Modbus ser+TCP - ModbusSDM630M - SolarForecast

Offline jonas71

  • New Member
  • *
  • Beiträge: 15
Das gleiche Thema war Ende 2019 bereits. 600 Byte -> 608 Byte
 Eventuell einmal die Update-Funktion + Restart nutzen, damit sollte es bei Dir „drin“ sein...... ;D

Hoffe auf ein Missverständnis: Meine Version ist schon aktuell, 4.3.0 letzte Änderung 08.12.2020

Meine oben beschriebene Änderung reichte auch leider nicht aus, musste noch eine eine 56 durch eine 58 ersetzen.
Was mich aber grade auf die Idee bringt, daß das etwas mit diesen "OBISnewItems" zu tun hat.
Da steht bei mir nämlich keineswegs "none", sondern 1:0.1.130,1:0.1.4,1:0.3.200,1:8.0.0.

Leider habe ich keinen Plan von Perl und Python, schaue mir den Code aber nun doch noch mal genauer an.




Offline jonas71

  • New Member
  • *
  • Beiträge: 15
Meine oben beschriebene Änderung reichte auch leider nicht aus, musste noch eine eine 56 durch eine 58 ersetzen.

60 nicht 58!!
Mit 60 läuft alles wieder tadelos.  :)

Zeile 498 nach Änderung 2 Posts zuvor:
# 610 statt 608 bytes buffer, Start nach Header 58 statt 56:
my $i    = 60;

Zeile
« Letzte Änderung: 09 Mai 2021, 12:53:44 von jonas71 »

Offline 300P

  • Full Member
  • ***
  • Beiträge: 128
@DS_Starter
und
@Volker_Kettenbach

Hallo Zusammen,

scheinbar ist hier eine Erweiterung / Update des SMAEM-Modules für die HM2.0 notwendig ;)

Gruß
300P


Hoffe auf ein Missverständnis: Meine Version ist schon aktuell, 4.3.0 letzte Änderung 08.12.2020

Meine oben beschriebene Änderung reichte auch leider nicht aus, musste noch eine eine 56 durch eine 58 ersetzen.
Was mich aber grade auf die Idee bringt, daß das etwas mit diesen "OBISnewItems" zu tun hat.
Da steht bei mir nämlich keineswegs "none", sondern 1:0.1.130,1:0.1.4,1:0.3.200,1:8.0.0.

Leider habe ich keinen Plan von Perl und Python, schaue mir den Code aber nun doch noch mal genauer an.

FHEM 6.0 - Raspberry Pi 3 / Pi 4 - VControl300 mit VITOVALOR 300P - SMAEM - SMAInverter - Robonect - allergy -  DbLog/DbRep -MariaDB auf QNAP - HTTPMOD Stromzähler Discovergy - Modbus ser+TCP - ModbusSDM630M - SolarForecast

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7474
Hallo,

@Volker ... kannst du das bitte übernehmen ? Ich bin mit meinem SolarForecast Modul zur Zeit gut ausgelastet.

@jonas71, bitte ein List deines Devices zur Verfügung stellen und einen kompletten verbose 5 Log-Auszug deines SMAEM Devices.

Mir kommt allerdings etwas komisch vor dass es kein Firmware Update gegeben haben soll.
Gab es sonst Änderungen im Netzwerk ? Neue Geräte mit Multicast Protokoll ?

Grüße,
Heiko
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline jonas71

  • New Member
  • *
  • Beiträge: 15
@jonas71, bitte ein List deines Devices zur Verfügung stellen und einen kompletten verbose 5 Log-Auszug deines SMAEM Devices.
Sehr gern.
Bin aber noch etwas zu neu hier und nutze den FHEM auch nur per Telnet, bin daher mit dem GUI nicht so sehr vertraut:

Was genau ist ein "List" eines Devices?

Logauszug ist in Arbeit, suche grade die Datei...

Offline jonas71

  • New Member
  • *
  • Beiträge: 15
Logauszug ist in Arbeit, suche grade die Datei...

Finde nur ein fhem-jahr-monat.log, ein SMAEM-Auszug (grep) anbei.

Nachtrag:
- Die Werte die mit das Modul nach meinen Änderungen liefert passen 1:1 zu denen des Portals.
- OBISnewItems sind nun auch "none".
- Was noch nicht stimmt ist die Seriennummer des Geräts!
« Letzte Änderung: 10 Mai 2021, 08:25:30 von jonas71 »

 

decade-submarginal