komisches verhalten von FHEMWEB oder at?

Begonnen von eisman, 21 November 2023, 10:35:31

Vorheriges Thema - Nächstes Thema

eisman

Hi,

ich habe schon öfter das verhalten festgestellt, das irgendwas beim speichern shiefläuft,
leider weis ich nicht wo es her kommt.

beim samsung Handybrowser ist mir das sehr oft aufgefallen.
heute auch bei Crome:

defmod at.HZ0100.Nacht at *{ReadingsVal("RA_0100","night","00:00")} { \
  my $Raum   = "RA_0100";;\
  my $Window = ReadingsVal($Raum,"window","closedclosed");;\
  \
  fhem("setreading $Raum status-temp night");; \
  \
  if($Window eq "closedclosed") {\
    fhem("set $Raum desired-temp " . ReadingsVal($Raum,"temp-night",6.0));;\
  } else {\
    fhem("set $Raum desired-old "  . ReadingsVal($Raum,"temp-night",6.0));;\
  }\
}
attr at.HZ0100.Nacht computeAfterInit 1
attr at.HZ0100.Nacht devStateStyle style="text-align:right;;"
attr at.HZ0100.Nacht room Wohnzimmer,heizung

setstate at.HZ0100.Nacht Next: 20:00:00
setstate at.HZ0100.Nacht 2023-11-21 13:26:28 state Next: 20:00:00

so sollten und sehen alle at.HZ aus!
da die Bad heizung wieder mal nicht gegangen ist:

hier der grund nach einem save:

defmod at.HZ0500.Tag at *{ReadingsVal("RA_0500","day","00:00")} set AZ11D01 off
attr at.HZ0500.Tag computeAfterInit 1
attr at.HZ0500.Tag devStateStyle style="text-align:right;;"
attr at.HZ0500.Tag room Bad,heizung

setstate at.HZ0500.Tag Next: 07:00:00
setstate at.HZ0500.Tag 2023-11-21 10:17:58 state Next: 07:00:00

das orginal sollte so aussehen:

defmod at.HZ0500.Tag at *{ReadingsVal("RA_0500","day","00:00")} { \
  my $Raum   = "RA_0500";;\
  my $Window = ReadingsVal($Raum,"window","closedclosed");;\
  \
  fhem("setreading $Raum status-temp day");; \
  \
  if($Window eq "closedclosed") {\
    fhem("set $Raum desired-temp " . ReadingsVal($Raum,"temp-day",6.0));;\
  } else {\
    fhem("set $Raum desired-old "  . ReadingsVal($Raum,"temp-day",6.0));;\
  }\
}
attr at.HZ0500.Tag computeAfterInit 1
attr at.HZ0500.Tag devStateStyle style="text-align:right;;"
attr at.HZ0500.Tag room Bad,heizung

setstate at.HZ0500.Tag Next: 07:00:00
setstate at.HZ0500.Tag 2023-11-21 13:24:02 state Next: 07:00:00

manchmal ist es nur eine AT und vor einer woche waren es 3 AT mit diesem verhalten...

ich kann hierfür keinen Grund finden,
ausser das alle *{ReadingsVal("RA_0500","day","00:00")} diesen timeset haben....

PS: was ich zufällig, mal heute gesehen habe, ist das beim execNow das Save config auf änderung ging und
sofort verschwand (warscheinlich gespeichert wurde)..

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

frank

woher kommt der "erfundene" cmd "set AZ11D01 off"?
nutzt du configDB?

aber warum nur manchmal... seltsam.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

betateilchen

Warum Dein at irgendwelche Fantasiebefehle ausführen will, kann ich Dir auch nicht sagen, aber der perl Teil in Deinem at ist einfach gruslig.

Warum

fhem("setreading " . $Raum . " status-temp day;;");; \
wenn doch

fhem("setreading $Raum status-temp day");; \
viel einfacher ist und sich auch noch besser lesen lässt?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

eisman

Zitat von: frank am 21 November 2023, 11:37:49woher kommt der "erfundene" cmd "set AZ11D01 off"?
nutzt du configDB?

aber warum nur manchmal... seltsam.

dieses device gibt es wirklich, AZ11D01 ist ein zigbee zwischenstecker.
configDB nutze ich nicht.
im Verdacht hatte ich den Samsung Browser, da probleme in verschiedenen Installationen
auftreten, und immer bei der nutzung vom handy.

----
@betateilchen

danke für die INFO, das spart mir dann einiges an Punkt und strich,
von der Übersicht finde ich es halt so schöner(Farblich). okay da ich kein perl profi bin,
und nur als hobby schreibe, werde ich das natürlich übernehmen!

"Warum Dein at irgendwelche Fantasiebefehle ausführen will."

ich habe oftmals probleme mit at bei der zeitübergabe aus einem reading.

das fehlerhafte speichern, ist nach dem Testausfüren der AT passiert, (ist aber nicht 100% nur sporadisch)
es wird angezeigt das es eine änderung gibt und dann scheint es so als wenn es automatisch gespeichert wird.

ich habe auch mehrmals versucht diese nachzustellen, leider ohne erfolg.

gruss

1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

betateilchen

Zitat von: eisman am 21 November 2023, 13:18:56ich habe oftmals probleme mit at bei der zeitübergabe aus einem reading.

Ich würde grundsätzlich nicht darauf wetten, dass das bei wiederholenden at überhaupt zuverlässig funktioniert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

eisman

hi,

auch dieses verhalten kann ich bestätigen,

es sind 7x at Tag und 7x at Nacht, da ich sehr oft ausfälle bei doif hatte, habe ich sie durch at ersetzt.
seit 1ner Woche laufen sie soweit, bis auf raum5 wo sporadisch dieser fehler auftritt.
Es ist jetzt nicht schlimm und damit vertretbar (wenn ich zuhause bin). da die Temp im Bad nur durch ein
Taster ausgelöst wird und automatisch zurückgeschaltet wird.

ich werde es auch weiterhin beobachten und berichten.

(PS: die änderungen am Perlcode habe ich schon teilweise gemacht, aber meine Perönliche meinung
ist das es für mich auf meinerweise besser lesbar ist, aber gefühlt ist die änderung besser, dankeschön)

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

rudolfkoenig

Zitatich habe schon öfter das verhalten festgestellt, das irgendwas beim speichern shiefläuft,
Mangels weiterer Ideen würde ich ein FileLog mit global als regexp anlegen, damit werden alle Definitionsänderungen gespeichert.

ZitatPS: was ich zufällig, mal heute gesehen habe, ist das beim execNow das Save config auf änderung ging und
sofort verschwand (warscheinlich gespeichert wurde)..
Das ist kein "Standardfeature", das muss man schon programmieren.
save erfolgt zwar auch, wenn ein Geraet (MQTT2_DEVICE, etc) automatisch angelegt wurde, das sollte aber eher selten vorkommen.

eisman

Hi,

ja die Idee hatte ich auch schon, nur in den letzten 4 wochen ist es nur 3 mal aufgetreten.
es ging mir im moment erstmal darum ob noch jemand so ein verhalten festgestellt hat.
Bisher viel mir sowas auch nur beim Samsung Browser, auf dem Handy auf. Wenn man dort z.B. in den Device das def ändert fehlen die einträge, wenn man nicht nochmal ins fenster an andere stelle clickt.

heute war es das erstemal beim Chrome so, ich werde mal für ein paar wochen ein tageslog schreiben lassen.

Standardfeature:

es ist nur beim execNow aufgetreten, es wurde eine änderung angezeigt ca.1Sek und dann gab es ein refresh.
und es stand etwas anderes in der at.

von aussen kann es nicht sein, da der zugriff gesperrt ist.
ich werdes einfach mal weiter beobachten.

gruss

1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

rudolfkoenig


eisman

Hi,,

attr WEB JavaScripts codemirror/fhem_codemirror.js
attr WEB SVGcache 1
attr WEB codemirrorParam { "theme":"blackboard", "lineNumbers":true, "lineWrapping":false }
attr WEB csrfToken none
attr WEB detailLinks 10
attr WEB editConfig 1
attr WEB endPlotNowByHour 1
attr WEB extraRooms name=diagramm:devspec=TYPE=SVG.*
attr WEB hiddenroom Unsorted,gateway,espEasy,homematic,logfile,netzwerk,readingsGroup,Wetterstation,zigbee,rollladen,heizung,calendar,light,multimedia
attr WEB iconPath fhemSVG:openautomation:default:dark:icons_small:wetter
attr WEB longpoll websocket
attr WEB longpollSVG 1
attr WEB menuEntries FHEM Forum,http://forum.fhem.de/index.php?action=unread' target='_blank, -------------,http://192.168.20.221:8083/fhem, Gateway,http://192.168.20.221:8083/fhem?room=gateway, ESP Easy,http://192.168.20.221:8083/fhem?room=espEasy, Fenster,http://192.168.20.221:8083/fhem?room=rollladen, Heizung,http://192.168.20.221:8083/fhem?room=heizung, Home Matic,http://192.168.20.221:8083/fhem?room=homematic, Kalender,http://192.168.20.221:8083/fhem?room=calendar, Licht,http://192.168.20.221:8083/fhem?room=light, Log File,http://192.168.20.221:8083/fhem?room=logfile, Multimedia,http://192.168.20.221:8083/fhem?room=multimedia, Netzwerk,http://192.168.20.221:8083/fhem?room=netzwerk, readingsGroup,http://192.168.20.221:8083/fhem?room=readingsGroup, Wetterstation,http://192.168.20.221:8083/fhem?room=Wetterstation, ZigBee,http://192.168.20.221:8083/fhem?room=zigbee, -------------,http://192.168.20.221:8083/fhem, Unsorted,http://192.168.20.221:8083/fhem?room=Unsorted, Update Check,cmd=update+check, Update,cmd=update, Restart,cmd=shutdown+restart
attr WEB plotfork 1
attr WEB room System
attr WEB sortRooms Wohnzimmer Arbeitszimmer Schlafzimmer Küche Bad Flur Keller Wohnung Wetterstation
attr WEB stylesheetPrefix dark
attr WEB title { if($FW_room) { "FHEM: $FW_room" } elsif($FW_detail) { "FHEM: $FW_detail" } else { "FHEM Home" } }

setstate WEB 2023-11-21 10:03:32 state Initialized


attr WEB codemirrorParam

dann ja,

ich habe grade alle at geändert:
  keinproblem aufgetreten
  logfile läuft
  1 at hat nicht ausgelöst
    auch nicht mit execNow

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

frank

mir fehlt die fantasie wie der browser "schuld" daran sein kann, dass manchmal "willkürlich" definitionen in der fhem.cfg geändert werden.

bei mir sieht ein klick auf "save config" in der javasript konsole so aus:
12:47:46.457 12:47:46.457 FW_cmd:/fhem?cmd=save&XHR=1 fhemweb.js:610:13
12:47:46.510 XHRPOST
http://192.168.1.25:8083/fhem?cmd=save&XHR=1&fwcsrf=csrf_659179664906936&fw_id=1700651187.54862
[HTTP/1.1 200 OK 490ms]

12:47:46.987 12:47:46.987 Rcvd: ["#FHEMWEB:WEB_192.168.1.31_61256","$('#saveCheck').css('visibility','hidden')",""] fhemweb.js:610:13
12:47:46.994 12:47:46.995 ERRMSG:Wrote configuration to fhem.cfg
< fhemweb.js:610:13
12:47:52.003 12:47:52.003 ERRMSG:< fhemweb.js:610:13

der fhem cmd "save" wird vom browser an fhem gesendet und in der antwort wird im erfolgsfall "Wrote configuration to fhem.cfg" zurückgesendet.

falls der browser doch seine finger im spiel hat, müsste das ja auch auf der konsole zu finden sein.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

eisman

Zitat von: frank am 22 November 2023, 14:21:20mir fehlt die fantasie wie der browser "schuld" daran sein kann, dass manchmal "willkürlich" definitionen in der fhem.cfg geändert werden.

bei mir sieht ein klick auf "save config" in der javasript konsole so aus:
12:47:46.457 12:47:46.457 FW_cmd:/fhem?cmd=save&XHR=1 fhemweb.js:610:13
12:47:46.510 XHRPOST
http://192.168.1.25:8083/fhem?cmd=save&XHR=1&fwcsrf=csrf_659179664906936&fw_id=1700651187.54862
[HTTP/1.1 200 OK 490ms]

12:47:46.987 12:47:46.987 Rcvd: ["#FHEMWEB:WEB_192.168.1.31_61256","$('#saveCheck').css('visibility','hidden')",""] fhemweb.js:610:13
12:47:46.994 12:47:46.995 ERRMSG:Wrote configuration to fhem.cfg
< fhemweb.js:610:13
12:47:52.003 12:47:52.003 ERRMSG:< fhemweb.js:610:13

der fhem cmd "save" wird vom browser an fhem gesendet und in der antwort wird im erfolgsfall "Wrote configuration to fhem.cfg" zurückgesendet.

falls der browser doch seine finger im spiel hat, müsste das ja auch auf der konsole zu finden sein.

das sehe ich auch so, es war ja auch nur eine vermutung,
die frage ist ja dann, wie wird das file gespeichert, werden nur die änderung eingefügt,
oder wird es ganz in den speicher geladen, da gibt es dan schon ein Browserproblem, lesen in den speicher und zurücksreiben in die datei und natürlich habe ich mich als fehler quelle mit eingefügt, das würde sein wenn ich den vorfall in nur einem device hätte, und nicht wie vor 2 wochen, da stand das selbe in 3 devices. als konnte ich mich als fehlerquelle ausschliessen!

ich habe jetzt erstmal, das log mitlaufen, und schauen was geschrieben wird wenn es wieder passiert,
aktuelle laufen alle at wie vorgesehen.

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

betateilchen

Zitat von: eisman am 22 November 2023, 15:01:04die frage ist ja dann, wie wird das file gespeichert, werden nur die änderung eingefügt,
oder wird es ganz in den speicher geladen

Weder noch.

Bei einem save werde alle zu diesem Zeitpunkt im laufenden FHEM definierten devices mit ihrem "define" und allen zugehörigen "attr" in eine neu erzeugte Konfiguration gespeichert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

eisman

hi,

also doch abwarten, was das log sagt...

ein speicherproblem könnte man vieleicht damit ausschliessen,
fremteinwirkung von seiten Internet fallen auch weg, da nur
alexa nach aussen geht und die tunnelverbindung wird über ein
anderes Programm gemeldet. Ich warte jetzt erstmal 2-3 wochen.
op es wieder passiert, 1 TB dürfte für das Log (pro Tag) ausreichend sein.

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

eisman

#14
hi,

bin ein kleines stück weiter (vieleicht)

es könnte Statische Aufladung am laptop und handy sein, zusätzliche eine C.... bluetooth Mous.

wodurch beim beiseitestellen des Laptop, zu einer auslösung(modify) gekommen ist, (vieleicht)
der Befehl stammt aus dem at.(siehe Bild)

gruss
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian, Homematic,ZigBee         / 1X Raspberry, ConBee / 5x ESP
1x FHEM Debian,MQTT                               / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S