Ungewünschte set-Befehle nach Wiederherstellen der alten Browser-Session

Begonnen von Mr. P, 22 Februar 2014, 00:54:53

Vorheriges Thema - Nächstes Thema

Mr. P

Hej hej,

wie mir scheint, bin ich da auf einen kleinen Fehler drauf gekommen, der mich bereits seit einigen Wochen verfolgt und ich endlich die Zeit hatte, das Auftreten festzunageln.

Mir ist es immer wieder passiert, dass ich eine früher gesetzte - mittlerweile jedoch geänderte - Temperatur plötzlich wieder als meine Aktuelle auf den RTs hatte. Eine zeitlang dachte ich, ich hätte unabsichtlich die Temperatur im WebIf geändert. Aber nach den zweiten oder dritten Mal und vorallem weil immer die zuvor eingestellte Temperatur wieder gesetzt wurde, wurde ich aufmerksam.
Lange Rede, kurzer Sinn... Das ganze konnte ich jetzt in einigen Versuchen genau nachstellen. Ich war mir schon recht sicher, dass der Fehler immer wieder beim Einschalten einer meiner Rechner - oder genauer gesagt - mit dem darauf folgenden Browserstart in dem ich immer meine alten Session wiederherstellen lasse, auftritt.
Reproduzieren lässt sich der Fehler nun wie folgt:
Man lasse zwei Rechner laufen: In meinem Fall (und zur Erklärung der Abfolge) 1x Desktop und 1x Laptop. die aktuelle Solltemperatur für einen Thermostat beträgt zB 17°. Ich stelle diese am Laptop auf 16° und warte, bis ich von meinem RT das Update für die desired-Temp von 16° erhalten habe. Zum Testen habe ich die Firefox-Session dann einfach mal gekillt. Weiter geht es mit dem Umstellen der Solltemperatur am Desktop-PC auf zB 18°. Wieder warten auf die Rückmeldung des RT's. Als letztes starte ich wieder meinen Firefox am Laptop, stelle meine alte Session wieder her, authentifiziere mich auf der FHEMWEB-Seite und siehe da, plötzlich hab ich im State wieder ein set auf die 16° stehen, dass auch kurzerhand umgesetzt wird. ;-)

Was ist im Einsatz: aktuelleste Version von FHEM und Firefox 27.0

Infos genügen hoffentlich. Und vielleicht hat irgendjemand irgendwelche Ideen dazu. :-)

Bin schon gespannt auf die Rückmeldungen!

Thx a lot! :-)

Edit:
Eigentlich hätte ich mir sowas auch gleich denken können... das Ganze betrifft natürlich nicht nur irgendwelche Heizungsregler. Das selbe ist mir vorhin auch bei meiner Dreambox passiert. Als ich den Rechner gestern ausgeschalten habe, war sie eingeschalten. Als ich ihn (den Rechner) vorhin einschaltete, war sie (die Dreambox) im Standby. Bis ich die alte Browser-Session wiederherstellte und das WebIf noch den alten Zustand gespeichert hatte. Und schon gab es zwei set-Befehle:
2014.02.22 12:59:43 2: ENIGMA2 set myDB on
2014.02.22 12:59:50 2: ENIGMA2 set myDB input tv
Greetz,
   Mr. P

Mr. P

*hochhol*

Mal direkt die Frage an Rudi... Hast du irgendeine Idee was ich machen könnte bzw. könntest du dir das mal ansehen?
Das Problem ist mittlerweile recht lästig, weil wirklich alle möglichen Sachen geschalten werden: Von verstellten Thermostaten über die Dreambox die sich einschaltet, bis hin zu sämtlichen anderen Aktoren, die sich lustig ein- oder ausschalten. :-/

Thx a lot!
Greetz,
   Mr. P

Puschel74

Hallo,

ich greife auch von 2 Rechner und einem Tablet auf mein FHEM zu und auch ich lasse die Sessions auch immer offen.
Laptop und PC legen sich nur schlafen bzw. fahren in den Ruhezustand.

Das Problem kenne ich aber nicht bzw. habe ich nicht  :o
Ebenso FF 27.0.1 und Win7-64bit an den Rechner und Android am Tablet mit WebViewControl.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Mr. P

Zitat von: Puschel74 am 25 Februar 2014, 18:01:03ich greife auch von 2 Rechner und einem Tablet auf mein FHEM zu und auch ich lasse die Sessions auch immer offen.
Laptop und PC legen sich nur schlafen bzw. fahren in den Ruhezustand.

Das Problem kenne ich aber nicht bzw. habe ich nicht  :o
Ebenso FF 27.0.1 und Win7-64bit an den Rechner und Android am Tablet mit WebViewControl.

Hej Puschel,

vielen Dank für deine Antwort.
Habe bei meinen Systemen sowohl Longpoll als auch Autorefresh aktiv... wie sieht es damit bei dir aus?
Greetz,
   Mr. P

UliM

Hi,
Das Kommando des Webfrontends wird in die URL gepackt und dadurch an fhem geschickt.
Wenn Du später die Session wiederherstellst wird die URL samt Befehl erneut an fhem gesendet und daraufhin auseführt.
Also entweder vor schließen des Browsers einen 'neutrLen' Befehl wie zB das Aufrufen eines Raums ausführen (das wird nach Wiederherstellen nochmal ausgeführt, hat aber keine unerwünschten Nebeneffekte) oder/und Du setzt redirectCmds auf 1, dadurch wird die URL nach BefehlaUaführung 'gelöscht' und der Befehl nac Wiederherstellen ebenfalls nicht erneut ausgeführt.
Gruß Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Mr. P

Hej Uli,

laut commandref sollte redirectCmds eigentlich von Haus aus enabled sein, daher hab ich gar nicht weiter daran gedacht.
Aber ich werde es jetzt mal auf alle Fälle aktivieren, um sicher zu gehen, dass es auch wirklich aktiviert ist.
Gibt es eine Möglichkeit herauszufinden, welchen Zustand solche Attribute eigentlich haben, solange sie nicht gesetzt sind?

Thx a lot!
Greetz,
   Mr. P

Puschel74

Hallo,

ZitatHabe bei meinen Systemen sowohl Longpoll als auch Autorefresh aktiv... wie sieht es damit bei dir aus?
Ebenso - siehe Screenshot.

Aber ok der Unterschied ist wohl das ich die Session offen lasse - ich schliesse das Browserfenster nicht.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Mr. P

Hej,

Zitat von: Puschel74 am 25 Februar 2014, 18:44:55Aber ok der Unterschied ist wohl das ich die Session offen lasse - ich schliesse das Browserfenster nicht.
Freiwillig mach ich das auch nicht. Aber hin und wieder wird doch mal die Batterie leer oder man muss den Rechner aus irgendeinen Grund neu starten. ;-)

@Uli
Was ich aber trotz allem nicht verstehe: Wenn ich einen Befehl absetze und danach einmal das Autorefresh die Seite neu lädt, dürfte das set doch auch nicht mehr ziehen, oder? Zeitweise hab ich sogar den Eindruck, als würde ein set immer generiert werden, wenn der aktuelle State von dem Gerät nicht mehr dem entspricht, den der Browser beim Schließen des Fensters angezeigt hat. Also auch ganz unabhängig davon, ob ich überhaupt ein set von dem Rechner aus abgesetzt habe.
Greetz,
   Mr. P

Puschel74

Hallo,

Zitatoder man muss den Rechner aus irgendeinen Grund neu starten.
Klar - updates werden bei mir automatisch eingespielt  ;D
Aber auch dann habe ich das Problem nicht  ???

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

UliM

Hi,
Beobachte einfach, was in der URL im Browser steht.
Sobald da ?cmd=Blabla drinsteht, wird was ausgeführt.
RedirectCmds setzt das zurück auf nur /fhem ggf mit Raumangabe.
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Mr. P

Hej Uli,

per get hab ich definitiv nie mehr als room oder detail stehen.
Komisch das alles! :-/

Gesendet von meinem GT-I9100 mit Tapatalk

Greetz,
   Mr. P

Mr. P

Hej hej,

hab mich jetzt einige Zeit damit beschäftigt und ich komme auf keinen grünen Zweig. Bin echt am Ende mit meinem Latein. :-/
Kann doch nicht sein, dass ich der Einzige mit diesem Problem bin.
Wenn ich zB den Computer abschalte und schlafen gehe, sind die Heizungen herunter geregelt. Wenn ich mich dann Tags darauf wieder an die Kiste setzte und die Heizungen mittlerweile auf eine höhere Temperatur eingestellt sind, regeln diese sich nach Wiederherstellen der Browser-Session sofort auf die Absenktemperatur zurück.
Könnte jemand einmal versuchen, dass ganze bei sich zu reproduzieren?

Vielen Dank!
Greetz,
   Mr. P

UliM

RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Mr. P

Hej Uli,

hab jetzt gerade die letzte halbe Stunde in div. Unterforen die letzten Threadtitel durchgesehen und bei auffälligen Namen einen Blick hinein riskiert... leider nichts gefunden.
Du hast nicht vielleicht noch im Hinterkopf, wo ich den Thread finden könnte bzw. wer ihn eröffnet hat? Irgendwas um mich heran zu tasten! :-)

Thx a lot!
Greetz,
   Mr. P

UliM

Hi,
hab grad auch noch mal kurz gesucht und nix gefunden - vll hab ich's durcheinandergeschmissen und diesen Fred gemeint.
Eine Lösung für das Problem kenn ich nicht.
Wenn Du die Browser-session wiederherstellst und der browser dabei die zuletzt verwendete URL nochmals schickt, dannenthält diese den zuletzt ausgeführten Befehl, den fhem dann (richtigerweise) nochmals ausführt.

Bin immer noch der Meinung, dass redirectCmds den Befehl as der URL löscht und das damit nicht passieren dürfte, müsstest Du aber selbst testen.
Oder das Verhalten Dienes Browsers ändern.
Oder vor dem Schalfenlegen des Rechners einmal ne fhem-URL ohne Befehl ausführen (zB nen Raum anklicken), dann dürfte da nix schiefgehen.

=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.