Harmony Disconnect "abfangen"

Begonnen von mister, 10 Juli 2020, 18:20:06

Vorheriges Thema - Nächstes Thema

mister

Hallo zusammen,

alle paar Wochen geht meine Harmony im FHEM kur, warum auch immer, auf Disconnected und dann wieder Connected

Das ist nicht weiter schlimm ich habe allerdings eine Schaltsteckdose mit der harmony verbunden über folgenden Code:

([Whz_Harmony:currentActivity] !~ "PowerOff")(set Whz_Schaltsteckdose_Heimkino on) DOELSEIF ([Whz_Harmony:currentActivity] eq "PowerOff")(set Whz_Schaltsteckdose_Heimkino off)

Wenn die harmoyn ihre Verbindung verliert geht aich kurz die Steckdose aus und wieder an. Wie kann ich dieses Disconnet abfangen?

MadMax-FHEM

#1
Indem du das Regex "sauber" machst...

Statt nur auf PowerOff und nicht PowerOff zu "prüfen"...

So "laxe" RegEx sind immer anfällig für "solche Dinge"...

EDIT: daher gilt dieser "Tipp" allgemein...

EDIT: dass sich der Hub ab und an neu verbindet ist wohl so... Bzw. ist das bei mir auch der Fall, allerdings habe ich "dein Problem" nicht, da ich exakt(er) "prüfe"... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mister

Ich hab das so gemacht damit ich nicht jedeAktion von der Harmony eintragen muss. Sonst muss ich jedes mal wenn ich eine neue Aktion anlege diese auch ergänzen oder gibt es eine Alternative?

mister

Vielleicht kann mir kurz jemand helfen

Ich habe es jetzt so in Funktion würde aber gerne Sicherheitshalber das Connected mit einer Zeit versehen sodass es 10 Sekunden da sein muss UND Poweroff gesetzt sein muss das dann erst die Bedinung Connected und Poweroff ausgelöst wahr wird.


([Whz_Harmony:currentActivity] !~ "PowerOff")(set Whz_Schaltsteckdose_Heimkino on) DOELSEIF ([Whz_Harmony:currentActivity] eq "PowerOff" and [Whz_Harmony] eq "Connected")(set Whz_Schaltsteckdose_Heimkino off)

MadMax-FHEM

#4
Würde (ohne DOIF-Mittel, da gibt es bestimmt irgendein Attribut) mittels:


and ReadingsAge("Whz_Harmony","state",0) > 10


vermutlich gehen.

Und was wenn du "zufällig" ausschaltest, nachdem der Hub erst 5s wieder verbunden war!?
Dann bleibt alles was NICHT über den Hub geschalten wird wie es ist...

Daher erneut, weil ein generelles Herangehen: je "ungenauer" die RegEx sind (bzw. Bedingungen generell), desto eher passieren Dinge die du nicht "willst" (und nicht bedacht hast, weil evtl. irgendwann mal ein Event kommt, der vorher noch nie kam und du nicht dachtest, dass "sowas" jemals kommen würde)...
Und dann versuchst du die "Symptome" zu bekämpfen statt die Ursache glatt zu machen... ;)

Aber wie du willst...
...dein System ;)

Zitat
Ich hab das so gemacht damit ich nicht jedeAktion von der Harmony eintragen muss. Sonst muss ich jedes mal wenn ich eine neue Aktion anlege diese auch ergänzen oder gibt es eine Alternative?

Wie oft legst du Aktionen an!? ;)

EDIT: eine Alternative wäre eine "geschickte" Namensgebung von Aktionen. Sodass IMMER "irgendwas" drin vorkommt was in KEINER vom Hub selbst vorhendenen Aktion vorkommt, also definitiv von DIR bzw. von einer DEINER Aktionen stammt... Und dann eben per RegEx darauf prüfen, statt "nicht powerOff". Evtl. auch mal den Eventmonitor mitlaufen lassen, vielleicht erkennst du beim disconnect/reconnect etwas, dass dich was "sicheres" für PowerOff finden lässt im Gegensatz zu einem fehlerhaften PowerOff bei disconnect/reconnect (oder kommt das nicht vor!? Ich weiß nicht was bei einem disconnect/reconnect so kommt, ich pfüfe aber auch genau ;)  ) oder mal die Events per FileLog mitloggen und sehen was man bei einer "fehlerhaften" Sequenz beim Hub wegen disconnect/reconnect so "sehen kann"...

EDIT: beim Start einer Aktion ist auch immer "starting" mit im Event... Das ist (meines Wissens) nur, wenn auch wirklich eine Aktion geschaltet/gestartet wird, nicht nach einem disconnect/reconnect... (wobei ich jetzt immer noch nicht weiß wie die Abfolge bzgl. PowerOff bei einem disconnect/reconnect ist und wenn da ein "falsches" PowerOff kommt was man da macht -> mal Events loggen und schauen...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mister

Danke für die Hinweise

Kannst du deine Schleife mal Posten?

MadMax-FHEM

#6
Ist alles in Perl und ich "matche" halt auf starting...

Löst aber das "PowerOff-Problem" ja nicht!

Habe gerade mal im Log nach einem Disconnect/Connect Fall während eine Activity lief gesucht und das gefunden:


2020-01-07_22:09:46 HarmonyHub currentActivity: starting Amazon/TVH on TV
2020-01-07_22:09:46 HarmonyHub sleeptimer: expired
2020-01-07_22:09:51 HarmonyHub currentActivity: Amazon/TVH on TV
2020-01-07_22:09:51 HarmonyHub activity: Amazon/TVH.on.TV
2020-01-07_22:09:51 HarmonyHub sleeptimer: expired
2020-01-07_22:09:51 HarmonyHub sleeptimer: expired
2020-01-07_23:46:08 HarmonyHub Disconnected
2020-01-07_23:46:10 HarmonyHub Connected
2020-01-07_23:46:12 HarmonyHub currentActivity: PowerOff
2020-01-07_23:46:12 HarmonyHub activity: PowerOff
2020-01-07_23:46:13 HarmonyHub sleeptimer: expired
2020-01-07_23:46:14 HarmonyHub sleeptimer: expired
2020-01-07_23:46:19 HarmonyHub sleeptimer: expired
2020-01-07_23:46:23 HarmonyHub currentActivity: Amazon/TVH on TV
2020-01-07_23:46:23 HarmonyHub activity: Amazon/TVH.on.TV
2020-01-07_23:46:23 HarmonyHub sleeptimer: expired
2020-01-08_02:23:10 HarmonyHub currentActivity: stopping Amazon/TVH on TV
2020-01-08_02:23:10 HarmonyHub sleeptimer: expired
2020-01-08_02:23:19 HarmonyHub currentActivity: PowerOff
2020-01-08_02:23:19 HarmonyHub activity: PowerOff


Ich habe (soweit ich mich jetzt erinnere) auch nichts (mehr) was auf PowerOff "reagiert".

Aber wie du siehst ist "starting" das einzig verlässliche, dass eine Activity tatsächlich gestartet wurde.

Die Activity-Meldungen nach einem Disconnect/Connect sind OHNE starting...

Sieht so aus als würde das Modul nach einem Disconnect/Connect erst mal die Activity PowerOff setzen (es weiß ja noch nichts) und dann erst den Hub fragen und die richtige Activity setzen...

Ich sehe leider wenig was das "unerwartete Ausschalten" bei Disconnect/Connect abfangen kann...
...außer viel wenn dann und nicht länger als und so weiter...

EDIT: gut, wenn dich eine Verzögerung beim Ausschalten nicht stört, dann (ich gaube das hatte ich mal so drin) ein at bei PowerOff: defmod atCheckAgain at 00:00:30 {if(still Activity PowerOff){->jetzt ist echt powerOff}} also mal in "pseudo-code"... Evtl. reichen auch 15sec Musst du halt mal probieren...

Beim Starten von Activities ist das mit "starting" auf jeden Fall einfach und sicher...


Lässt sich "gut" wohl nur im Modul selbst ändern.
Z.B. NICHT "einfach" auf PowerOff (nur weil man es [noch] nicht besser weiß) sondern evtl. auf "unknown" (was ja sogar stimmt ;)  )...

Wenn du nicht wild rumprogrammieren willst um das abzufangen -> Modulauthor bitten (Andre / justme1968)


Trotzdem bleibe ich nat. dabei: einfach nur nach PowerOff bzw. nicht PowerOff "abfragen" ;)

EDIT: gegen das Disconnect/Connect an sich kann man wohl nichts tun, ich sehe auch, dass der Hub ab und an "rot" wird und dann gleich wieder "grün" -> Disconnect/Connect (evtl. wenn die Lease abläuft oder weil er denkt achja wird mal wieder Zeit ;)  )...


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

olwaldi

Ich habe in einem anderen Forum eine mögliche Lösung für das disconnect/connect gefundne. Wenn man in der Fritzbox die WLAN-Kanäle 12/13 deaktiviert, läuft die Harmony (und auch andere WLAN-Clients) sauberer.

Grüßle, Michael

MadMax-FHEM

Zitat von: olwaldi am 19 September 2022, 15:07:26
Ich habe in einem anderen Forum eine mögliche Lösung für das disconnect/connect gefundne. Wenn man in der Fritzbox die WLAN-Kanäle 12/13 deaktiviert, läuft die Harmony (und auch andere WLAN-Clients) sauberer.

Grüßle, Michael

Habe keine Fritzbox für WLAN, hatte ich noch nie ;)
und auch keine Kanäle 12/13 (wer macht denn sowas?).

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

olwaldi

OT: M. E. macht die Benutzung der WLAN-Kanäle 12/13 durchaus Sinn, da die defaultmäßig nicht genutzt werden und somit gern frei sind. Da mein WLAN nach Aktivierung der beiden Kanäle stabil lief, habe ich das so schon lange in Betrieb - und eben immer wieder mal disconnects vom Harmony Hub. Seit ich vor einer Woch diese beiden Kanäle deaktiviert habe, sind die disconnects weg. Und mein Auto in der TG verbindet sich seither ultraschnell mit dem WLAN (braucht man natürlich absolut gar nicht).

Leider ist bei keinem meiner WLAN-Geräte dokumentiert, ob diese 2 Kanäle unterstützt sind oder nicht, d. h. da bleibt wohl nur ausprobieren (über längeren Zeitraum).

Grüßle, Michael

MadMax-FHEM

#10
Zitat von: olwaldi am 20 September 2022, 07:32:42
OT: M. E. macht die Benutzung der WLAN-Kanäle 12/13 durchaus Sinn, da die defaultmäßig nicht genutzt werden und somit gern frei sind. Da mein WLAN nach Aktivierung der beiden Kanäle stabil lief, habe ich das so schon lange in Betrieb - und eben immer wieder mal disconnects vom Harmony Hub. Seit ich vor einer Woch diese beiden Kanäle deaktiviert habe, sind die disconnects weg. Und mein Auto in der TG verbindet sich seither ultraschnell mit dem WLAN (braucht man natürlich absolut gar nicht).

Leider ist bei keinem meiner WLAN-Geräte dokumentiert, ob diese 2 Kanäle unterstützt sind oder nicht, d. h. da bleibt wohl nur ausprobieren (über längeren Zeitraum).

Grüßle, Michael

OT: damit machst du aber eine "saubere" Kanaltrennung (deiner Umgebung) zunichte.

Weil du damit in andere Kanäle "reinstrahlst", am Ende noch mit 8040MHz Kanalbreite...
...und zwar auch noch so, dass sich der AP schwer(er) tut mit Signaltrennung ("Überlappung" im "Randbereich")...

Schau dir mal an wie du damit "überlappst": https://www.elektronik-kompendium.de/sites/net/1712061.htm
Oder auch https://praxistipps.chip.de/wlan-einrichten-welchen-kanal-waehlen_34273
Oder auch https://www.tecchannel.de/a/so-optimieren-sie-ihr-wlan-tempo,2079596,2 (aber die Nachbarschaft beachten, 1, 7, 13 geht nur, wenn die Nachbarn auch mitspielen ;) )

Frei ist nicht gleich frei...

Ende OT

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

olwaldi

OT2: Im Prinzip beantwortet Dein erster Link meine nicht gestellte Frage, warum man Kanal 12/13 nicht nutzen sollte, da in den USA nicht zugelassen. Dann wundert es mich nicht, daß der Harmony Hub oder mein Toyota nicht so recht damit zurechtkommen. Somit verlasse ich mich weiterhin auf die default-Einstellungen von AVM in der Fritzbox (dann ist nämlich Kanal 12/13 deaktiviert).

Danke für die Links, Michael