[gelöst] Messages collected while initializing FHEM: statefile: Usage: setstate

Begonnen von forum-merlin, 14 April 2016, 21:32:17

Vorheriges Thema - Nächstes Thema

forum-merlin

@Moderatoren, ich habe einen eigenen Thread aufgemacht, da ich den [erledigt] Titel des anderen Threads https://forum.fhem.de/index.php/topic,36168.0.html nicht editieren kann.

Hallo liebe FHEM Freunde,

Ich habe am Wochenende einiges an FHEM gebastelt, und seitdem bekomme ich nach einem FHEMCMD>shutdown restart andauernd diese Meldungen, und ich kann auch kein "update check" mehr ausführen:

Messages collected while initializing FHEM:
statefile: Usage: setstate
where is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

Usage: setstate
where is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

Usage: setstate
where is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.

Usage: setstate
where is a single device name, a list separated by komma (,) or a regexp. See the devspec section in the commandref.html for details.


Ich war ausch schon soweit mit der "motd" und ich habe auch mal FHEM gestoppt, und dann mein statefile, das fhem.save "weggemoved" und dann FHEM gestartet.
Nachdem ich FHEM gestartet hatte dachte ich mir schon, dass nun alle vorhergehenden gesetzten states ersmal weg sein würden. War OK für mich. Bin dann halt erstmal durch die Bude und habe die Fensterkontakte alle wieder mal was melden lassen. Die Meldungen waren weg, und ich dachte alles is gut.

So...
Aaaaaber nachdem ich heute dann wieder mal durchstartete, kamen die Meldungen aber wieder.

Ich hatte schon versucht ein verbose 5 beim Global zu machen, aber da bin ich nicht fündig geworden WO GENAU das problem liegt.
es bleibt lediglich bei dieser Meldung oben.


Kann ich raufinden wo der Fehler produziert wird?

Ich modifiziere eigentlich NIE in der fhem.cfg rum. Aber wie das Wort "eigentlich" und "NIE" schon vermuten lässt habe ich tatsächlich etwas direkt in der fhem.cfg verändert.
Aber das was ich gemacht hatte war nichts weltbewegendes, und hatte ich schon (früher mal) 1000 mal gemacht.

Ich habe das Thema "Waschmaschine ist fertig" von "meintechblog.de" mit zwei Homematic Steckdosen eingepflegt. Für WaMa udn Trockner halt.
Und da werden auch in den definitions eben setstate verwendet. Kann es ein Syntaxfehler sein der das Problem auslöst?
Hier mal was ich in der fhem.cfg habe:


#Waschmaschine

#Dummy dummy_WK.WaschmaschineWatt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define dummy_WK.WaschmaschineWatt dummy
attr dummy_WK.WaschmaschineWatt group Waschmaschine.meintechblog.de
attr dummy_WK.WaschmaschineWatt room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineWatt mit Werten versorgen
define notify_WK.WaschmaschineWattSet notify WK.Waschmaschine_Pwr {my $power =ReadingsVal("WK.Waschmaschine_Pwr","power","");; fhem ("set dummy_WK.WaschmaschineWatt $power")}
attr notify_WK.WaschmaschineWattSet group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineWattSet room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineBetrieb definieren
define dummy_WK.WaschmaschineBetrieb dummy
attr dummy_WK.WaschmaschineBetrieb event-on-change-reading state
attr dummy_WK.WaschmaschineBetrieb group Waschmaschine.meintechblog.de
attr dummy_WK.WaschmaschineBetrieb room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineBetrieb einschalten bei Verbrauch größer 30 Watt
define notify_WK.WaschmaschineBetriebAn notify WK.Waschmaschine_Pwr:power.* {fhem ("set dummy_WK.WaschmaschineBetrieb on;; setstate wd_WK.WaschmaschineAutoOff defined") if (ReadingsVal("WK.Waschmaschine_Pwr","power","") >= 30 && Value("dummy_WK.WaschmaschineBetrieb") ne "on")}
attr notify_WK.WaschmaschineBetriebAn group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineBetriebAn room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineHoherVerbrauch definieren
define dummy_WK.WaschmaschineHoherVerbrauch dummy
attr dummy_WK.WaschmaschineHoherVerbrauch event-on-change-reading state
attr dummy_WK.WaschmaschineHoherVerbrauch group Waschmaschine.meintechblog.de
attr dummy_WK.WaschmaschineHoherVerbrauch room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineHoherVerbrauch _einschalten_ bei Verbrauch größer 5 Watt bei laufendem Betrieb
define notify_WK.WaschmaschineHoherVerbrauchAn notify WK.Waschmaschine_Pwr:power.* {fhem ("set dummy_WK.WaschmaschineHoherVerbrauch on;; setstate wd_WK.WaschmaschineAutoStandby defined") if (ReadingsVal("WK.Waschmaschine_Pwr","power","") > 5 && Value("dummy_WK.WaschmaschineBetrieb") eq "on")}
attr notify_WK.WaschmaschineHoherVerbrauchAn group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineHoherVerbrauchAn room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.WaschmaschineHoherVerbrauch _ausschalten_ bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define notify_WK.WaschmaschineHoherVerbrauchAus notify WK.Waschmaschine_Pwr:power.* {fhem ("set dummy_WK.WaschmaschineHoherVerbrauch off") if (ReadingsVal("WK.Waschmaschine_Pwr","power","") <= 5 && Value("dummy_WK.WaschmaschineBetrieb") eq "on")}
attr notify_WK.WaschmaschineHoherVerbrauchAus group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineHoherVerbrauchAus room 1.7_WaschKeller,meintechblog.de

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Waschvorgang tatsächlich abgeschlossen ist
define wd_WK.WaschmaschineAutoStandby watchdog dummy_WK.WaschmaschineHoherVerbrauch:off 00:05 dummy_WK.WaschmaschineHoherVerbrauch:on set dummy_WK.WaschmaschineBetrieb standby
attr wd_WK.WaschmaschineAutoStandby group Waschmaschine.meintechblog.de
attr wd_WK.WaschmaschineAutoStandby regexp1WontReactivate 1
attr wd_WK.WaschmaschineAutoStandby room 1.7_WaschKeller,meintechblog.de

#WZ.Waschmaschine 15 Minuten nach dem letzten Waschgang vom Strom trennen
define wd_WK.WaschmaschineAutoOff watchdog dummy_WK.WaschmaschineBetrieb:standby 00:15 dummy_WK.WaschmaschineBetrieb:on set WK.Waschmaschine off;;;; set dummy_WK.WaschmaschineBetrieb off
attr wd_WK.WaschmaschineAutoOff group Waschmaschine.meintechblog.de
attr wd_WK.WaschmaschineAutoOff regexp1WontReactivate 1
attr wd_WK.WaschmaschineAutoOff room 1.7_WaschKeller,meintechblog.de

#Sprachausgabe über Sonos
define notify_WK.WaschmaschineWaschvorgangAbgeschlossenSonos notify dummy_WK.WaschmaschineBetrieb:standby set Sonos_Hobbyraum Speak 25 de Waschmaschine ist fertig;; set Sonos_Wohnzimmer Speak 25 de Waschmaschine ist fertig
attr notify_WK.WaschmaschineWaschvorgangAbgeschlossenSonos group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineWaschvorgangAbgeschlossenSonos room 1.7_WaschKeller,meintechblog.de

#Text Message and Telegram Gruppe
define notify_WK.WaschmaschineWaschvorgangAbgeschlossenTGB notify dummy_WK.WaschmaschineBetrieb:standby set TelegramBOT message Die Waschmaschine ist fertig und wird nun ausgeschaltet!
attr notify_WK.WaschmaschineWaschvorgangAbgeschlossenTGB group Waschmaschine.meintechblog.de
attr notify_WK.WaschmaschineWaschvorgangAbgeschlossenTGB room 1.7_WaschKeller,meintechblog.de


#Trockner

#Dummy dummy_WK.TrocknerWatt für die Anzeige des aktuellen Watt-Verbrauchs definieren
define dummy_WK.TrocknerWatt dummy
attr dummy_WK.TrocknerWatt group Trockner.meintechblog.de
attr dummy_WK.TrocknerWatt room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerWatt mit Werten versorgen
define notify_WK.TrocknerWattSet notify WK.Trockner_Pwr {my $power =ReadingsVal("WK.Trockner_Pwr","power","");; fhem ("set dummy_WK.TrocknerWatt $power")}
attr notify_WK.TrocknerWattSet group Trockner.meintechblog.de
attr notify_WK.TrocknerWattSet room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerBetrieb definieren
define dummy_WK.TrocknerBetrieb dummy
attr dummy_WK.TrocknerBetrieb event-on-change-reading state
attr dummy_WK.TrocknerBetrieb group Trockner.meintechblog.de
attr dummy_WK.TrocknerBetrieb room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerBetrieb einschalten bei Verbrauch größer 30 Watt
define notify_WK.TrocknerBetriebAn notify WK.Trockner_Pwr:power.* {fhem ("set dummy_WK.TrocknerBetrieb on;; setstate wd_WK.TrocknerAutoOff defined") if (ReadingsVal("WK.Trockner_Pwr","power","") >= 30 && Value("dummy_WK.TrocknerBetrieb") ne "on")}
attr notify_WK.TrocknerBetriebAn group Trockner.meintechblog.de
attr notify_WK.TrocknerBetriebAn room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerHoherVerbrauch definieren
define dummy_WK.TrocknerHoherVerbrauch dummy
attr dummy_WK.TrocknerHoherVerbrauch event-on-change-reading state
attr dummy_WK.TrocknerHoherVerbrauch group Trockner.meintechblog.de
attr dummy_WK.TrocknerHoherVerbrauch room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerHoherVerbrauch _einschalten_ bei Verbrauch größer 5 Watt bei laufendem Betrieb
define notify_WK.TrocknerHoherVerbrauchAn notify WK.Trockner_Pwr:power.* {fhem ("set dummy_WK.TrocknerHoherVerbrauch on;; setstate wd_WK.TrocknerAutoStandby defined") if (ReadingsVal("WK.Trockner_Pwr","power","") > 5 && Value("dummy_WK.TrocknerBetrieb") eq "on")}
attr notify_WK.TrocknerHoherVerbrauchAn group Trockner.meintechblog.de
attr notify_WK.TrocknerHoherVerbrauchAn room 1.7_WaschKeller,meintechblog.de

#Dummy dummy_WK.TrocknerHoherVerbrauch _ausschalten_ bei Verbrauch kleiner gleich 5 Watt bei laufendem Betrieb
define notify_WK.TrocknerHoherVerbrauchAus notify WK.Trockner_Pwr:power.* {fhem ("set dummy_WK.TrocknerHoherVerbrauch off") if (ReadingsVal("WK.Trockner_Pwr","power","") <= 5 && Value("dummy_WK.TrocknerBetrieb") eq "on")}
attr notify_WK.TrocknerHoherVerbrauchAus group Trockner.meintechblog.de
attr notify_WK.TrocknerHoherVerbrauchAus room 1.7_WaschKeller,meintechblog.de

#Wenn der Verbrauchswert für mindestens 5 Minuten bei laufendem Betrieb unter obigem Schwellwert (5 Watt) verbleibt, wird angenommen, dass der Trocknungsvorgang tatsächlich abgeschlossen ist
define wd_WK.TrocknerAutoStandby watchdog dummy_WK.TrocknerHoherVerbrauch:off 00:05 dummy_WK.TrocknerHoherVerbrauch:on set dummy_WK.TrocknerBetrieb standby
attr wd_WK.TrocknerAutoStandby group Trockner.meintechblog.de
attr wd_WK.TrocknerAutoStandby regexp1WontReactivate 1
attr wd_WK.TrocknerAutoStandby room 1.7_WaschKeller,meintechblog.de

#WZ.Trockner 15 Minuten nach der letzten Aktivität vom Strom trennen
define wd_WK.TrocknerAutoOff watchdog dummy_WK.TrocknerBetrieb:standby 00:15 dummy_WK.TrocknerBetrieb:on set WK.Trockner off;;;; set dummy_WK.TrocknerBetrieb off
attr wd_WK.TrocknerAutoOff group Trockner.meintechblog.de
attr wd_WK.TrocknerAutoOff regexp1WontReactivate 1
attr wd_WK.TrocknerAutoOff room 1.7_WaschKeller,meintechblog.de

#Sprachausgabe über Sonos
define notify_WK.TrocknerAbgeschlossenSonos notify dummy_WK.TrocknerBetrieb:standby set Sonos_Hobbyraum Speak 25 de Der Trockner ist fertig;; set Sonos_Wohnzimmer Speak 25 de Der Trockner ist fertig
attr notify_WK.TrocknerAbgeschlossenSonos group Trockner.meintechblog.de
attr notify_WK.TrocknerAbgeschlossenSonos room 1.7_WaschKeller,meintechblog.de

#Text Message and Telegram Gruppe
define notify_WK.TrocknerAbgeschlossenTGB notify dummy_WK.TrocknerBetrieb:standby set TelegramBOT message Der Trockner ist fertig und wird nun ausgeschaltet!
attr notify_WK.TrocknerAbgeschlossenTGB group Trockner.meintechblog.de
attr notify_WK.TrocknerAbgeschlossenTGB room 1.7_WaschKeller,meintechblog.de



Wie finde ich es nun also raus?

Ach und noch eine Frage... Damit ich mich selbst for der fhem.cfg schütze hatte ich überlegt auf DB zu gehen...
Macht es Sinn auf dem selben RasPi2 eine DB zu installieren und das so zu betreiben? Ich will eigentlich kein weiteres externes System wo die DB drauf läuft.


Danke und Gruß
Holger
FHEM 5.8 auf RasPi3; CULv3-868; RFXtrx433; HM-Sec-SC-2; HM-CFG-LAN; HM-LC-Bl1-FM; HM-CC-RT-DN; HM-ES-PMSw1-Pl; HM-LC-Sw4-DR; Hunter Ventile; 8ch Relais; ENIGMA2; ONKYO_AVR; SONOS; Harmony; telegram; HM-PB-6-WM55; GPIO; HM-Sen-MDIR-O; HM-SEC-SD; HM-LC-Dim1L-Pl-3;

DS_Starter

Hi Holger,

du hast ",meinblog.de" übernommen.  Das muß bestimmt raus bzw. statt "," ein "."

#Dummy dummy_WK.TrocknerWatt mit Werten versorgen
define notify_WK.TrocknerWattSet notify WK.Trockner_Pwr {my $power =ReadingsVal("WK.Trockner_Pwr","power","");; fhem ("set dummy_WK.TrocknerWatt $power")}
attr notify_WK.TrocknerWattSet group Trockner.meintechblog.de
attr notify_WK.TrocknerWattSet room 1.7_WaschKeller,meintechblog.de

Grüße
Heiko

Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

forum-merlin

Hallo Heiko,

danke für´s reinschauen.

Nee, das mit dem room und dem Komma ist schon OK so.
Ich wollte das Device in zwei Räumen sehen.
Ein Raum heisst:
1.7_WaschKeller

Und der andere:
meintechblog.de

Ich habe die Lösung aber eben gefunden.
Es war tatsächlich wie die Meldung es beschreibt ein setstate Problem.
Verursacht durch ein komplett anderes Thema, nämlich eine Definition eines Devices das per init kein setstate bekam.
Siehe hier in dem Thread zu Deinem Modul. https://forum.fhem.de/index.php/topic,45671.msg439846.html#msg439846


Für alle anderen die so ein setstate Fehler haben und nicht wissen wo es liegt.
Hier DER WEG DEN ICH GEGANGEN BIN um den Fehler zu finden.

Habe die fhem.save aus /opt/fhem/log per WinSCP auf meinen rechner kopiert und in Notepad++ geöffnet
Dann als TXT abgespeichert
Dann diese TXT  mit "space separated" in Excel importiert.
So hatte ich also in
Spalte A = setstate
Spalte B = Device Name
Spalte C = statevalue

Dann Spalte B rechtsbündig angeordnet, Spalte C linksbündig, und da ich viele Einträge hatte erstmal ne Weile gescrollt. Die Anordnung deshalb, weil ich so schneller sehen konnte wenn neben dem device eine statevalue fehlt.
Dann habe ich irgendwann genau 4 Devices (wie auch die Anzahl der Fehlermeldungen) entdeckt, die keine statevalue hatten
Also sowas in der Art:
setstate Lampe
anstatt
setstate Lampe off

OK, es waren keine Lampen, sondern IP Cams, aber egal.
Der Grund warum die Cams keine statevalue hatten kann ggf. im anderen Thread nachgelesen werden.

Damit schließe ich den Thread hier wieder.

Gruß

Holger
FHEM 5.8 auf RasPi3; CULv3-868; RFXtrx433; HM-Sec-SC-2; HM-CFG-LAN; HM-LC-Bl1-FM; HM-CC-RT-DN; HM-ES-PMSw1-Pl; HM-LC-Sw4-DR; Hunter Ventile; 8ch Relais; ENIGMA2; ONKYO_AVR; SONOS; Harmony; telegram; HM-PB-6-WM55; GPIO; HM-Sen-MDIR-O; HM-SEC-SD; HM-LC-Dim1L-Pl-3;