FHEM - Anwendungen > Solaranlagen

Solar EPEVER EPSOLAR u.ä. [98_ModbusEPEVER] [98_ModbusUPOWER] [98_ModbusIPOWER]

<< < (2/21) > >>

mfischer-ffb:

Danke jetzt gehts mit

"i" =>  {       'combine' => '8',

ich meinte "ChargingOnOff"  damit sollte ja eigentlich das Laden abgeschaltet werden... ist aber nicht so wichtig, wollte ich nur nutzen zur Notabschaltung falls eine Zellenspannung zu hoch ist.

Danke
Gruß
Markus

laserrichi:
ah ok, jetzt weis ich was du meinst. In den älteren Dokus steht das nicht drin.

Charging device on/off  Coil 0
1 Charging device on 0 Charging device off

Vieleicht ist das vorgesehen für die Zukunft oder ein anderes Gerät. Bei mir steht bzw. stand der immer auf Off.

mich würde interessieren was bei dir mit verbose im log steht, ob du auch diese HandleTimeout hast.

mfischer-ffb:
Hi,

Ja ab und zu kommt auch ein Timeout aber sonst läuft jetzt alles prima...

laserrichi:
Update des Moduls, korrektur der Batterietemperatur, Register zählt rückwärts bei negativen Temperaturen und hatte 655°C   :-)

springber:
Hallo,

ich habe mir auch ein Device (kein Modul) für einen Solarlader EPEVER LS2024B erstellt. Als Beitrag für das Modul meine Einstellung für das Schreiben von Datum und Uhrzeit:

wenn man bei setexpr einen Einzeiler eingibt, ist der zwar ziemlich lang aber es geht. Also habe ich das geändert und kann Datum und Zeit vom Solarlader über set ändern. Das Eingabeformat für das set ist wie das reading TT.MM.YYYY hh.mm.ss also z.B. 02.02.2021 12:04:36. Zu beachten ist, die Zahlen müssen immer 2 (oder 4) Stellig sein - also 3.2.21 12:4:56 geht nicht - aber 03.02.2021 12:04:56 schon.  :)


--- Code: ---attr EPSOLAR_1 obj-h36883-expr sprintf("%02d.%02d.20%02d %02d:%02d:%02d", hex(substr($val,4,2)), hex(substr($val,10,2)), hex(substr($val,8,2)), hex(substr($val,6,2)), hex(substr($val,0,2)), hex(substr($val,2,2)))
attr EPSOLAR_1 obj-h36883-len 3
attr EPSOLAR_1 obj-h36883-poll 1
attr EPSOLAR_1 obj-h36883-polldelay X1
attr EPSOLAR_1 obj-h36883-reading RTC
attr EPSOLAR_1 obj-h36883-set 1
attr EPSOLAR_1 obj-h36883-setexpr sprintf("%02X", substr($val,14,2)).sprintf("%02X", substr($val,17,2)).sprintf("%02X", substr($val,0,2)).sprintf("%02X", substr($val,11,2)).sprintf("%02X", substr($val,8,2)).sprintf("%02X", substr($val,3,2))
attr EPSOLAR_1 obj-h36883-showGet 1
attr EPSOLAR_1 obj-h36883-textArg 1
attr EPSOLAR_1 obj-h36883-unpack H*
--- Ende Code ---


Das Thema mit falschen Temperaturwerten habe ich mit unpack "s>" gelöst (unpack "s>" = signed short integer in big endian -> high order byte at the lowest address)


--- Code: ---attr EPSOLAR_1 obj-i12561-expr $val/100
attr EPSOLAR_1 obj-i12561-poll 1
attr EPSOLAR_1 obj-i12561-reading Temperature
attr EPSOLAR_1 obj-i12561-showGet 1
attr EPSOLAR_1 obj-i12561-unpack s>
--- Ende Code ---


Für die Aktualisierung habe ich auch ein at Device erstellt - das ist inaktiv und ich aktualisiere Datum und Uhrzeit manuell über "execNow". Das ist für mich OK weil die Urzeit genau genug läuft so dass ich eigentlich nur zur Zeitumstellung die Zeit aktualisieren muss (ja auch das ist noch eine Idee zum Automatisieren... ;)).


--- Code: ---defmod EPSOLAR_1_set_date_time at *01:01:01 {\
  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);;\
  $year = $year+1900;;\
  $mon = $mon+1;;\
  #$sec = 00;;\
  #$min = 00;;\
  #$hour = 10;;\
  #$mday = 02;;\
  #$mon = 03;;\
  #$year=21;;\
  #print "Aktuelles Datum ist : $mday.$mon.$year $hour:$min:$sec\n\r\n\r";;\
  my $alles = sprintf("%02d", $mday)."\.".sprintf("%02d", $mon)."\.".sprintf("%04d", $year)." ".sprintf("%02d", $hour).":".sprintf("%02d", $min).":".sprintf("%02d", $sec);;\
  Log 1, "set EPSOLAR_1 RTC $alles";;\
  fhem("set EPSOLAR_1 RTC $alles");;\
}
--- Ende Code ---

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln