Gelöst - Geräte schalten sich unkontrolliert

Begonnen von ftsinuglarity, 01 Oktober 2017, 16:29:36

Vorheriges Thema - Nächstes Thema

ftsinuglarity

gute Idee von dir, das so simpel zu lösen. Ich sag ja, der Wald und die Bäume....

Das haut bei mir leider so nicht hin. Das dürfte am Ediplug liegen. Sein Status ist auf error, wird damit nicht korrekt ausgewertet. Die Dinger kriege ich nicht so richtig in den Griff, habs oben mit den timeouts schon angeschnitten. Ich bin mir zb nicht sicher, ob ich irgendwo nicht doch ein großes OFF oder ON verwenden muß. (Verwenden die dann intern per xml string )
Aus der Ediplug.pm konnte ich nur kleine off/on's sehen, aber ich bin mit perl nicht unbedingt firm.  Den Status hatte ich auch schon vernünftig, die 2101W sind aber ein wenig zickig .. Resultat state error.

Die Schleife habe ich immer (dadurch) noch im Log.

da überschneidet sich deine Antwort mit meiner .. ich teste das gleich mal aus.

CoolTux

Und noch ein guter Tip.
Vergiss die blöden includefiles in der fhem.cfg. FHEM ist modern, du brauchst dich nicht mehr um ein cfg File kümmern, das macht FHEMWEB für Dich. Du kannst alles über die Oberfläche machen und dabei wird auch noch geprüft ob du murks machst oder es so ok ist.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ftsinuglarity

#17
Tut mir leid, das ich erst so spät antworte... hatte nicht wirklich viel Zeit.

Ist glaube ich habs nicht konsequent bis zum Ende durchgezogen, aber so funktionierts jetzt sehr gut:

Dummy dWZ_MEDIA:
per setList das Reading STATUS hinzugefügt
per readingList STATUS    (damit es als veränderbares Reading deklariert wird, wenn ich das richtig verstanden habe ?)

list:

Internals:
   CFGFN      ./configs/virtual_devices.cfg
   NAME       dWZ_MEDIA
   NR         632
   STATE      off
   TYPE       dummy
   READINGS:
     2017-10-07 17:11:40   STATUS          on
     2017-10-07 16:37:57   state           off
Attributes:
   event-on-change-reading state,STATUS
   group      Dummy's
   readingList STATUS
   room       9.4_Dummy's,2.1_Wohnzimmer
   setList    STATUS
   webCmd     on:off

Hier wurde der Einzelbutton gedrückt, deshalb ist der state vom Dummy off. Der Dummy zeigt über das Reading STATUS trotzdem an, das die Anlage eingeschaltet ist.
Hätte ich gleich den state vom Dummy verändert, hätte das einschalten der Anlage immer das Notify vom Dummy ausgelöst, und somit auch alle dazugehörigen Lichter usw. geschaltet, was ich nicht wollte.




Das Notify vom Ediplug setzt das Reading vom Dummy:

Musik { setreading dWZ_MEDIA  STATUS  $EVTPART0; }



ebenso der Dummy selbst über das auslösen des Ediplug Notifys:

dWZ_MEDIA { if ("$EVTPART0" eq "on") {
fhem("
set Musik on;
                                          ...



In der Tablet Ui habe ich den Dummy-Button wie folgt angeleget

<div class="cell " >
<div data-type="switch"
data-device="dWZ_MEDIA"
data-get="STATUS"
data-get-on="on"
data-get-off="off"
                                ...



Vielen lieben Dank für die Hilfe.

Besonders hilfreich war nochmal auf die Logs hinzuweisen. Ich hatte mich vorher ein wenig davor gedrückt, weil gerade die Ausgaben vom fhem.log erschlagen können, wenn man auf verbose 4 und 5 geht.
Für normale Debugging Ausgaben ist verbose 3 im global für mich passend. Individuelle Devices dann je nach Bedarf höher einstellen. Plus ein wenig grep Filter ... schon steht jeder Event mit In und Output sauber aufgelistet. Perfekt. Großes Lob an die gut lesbare Formatierung der Ausgaben.

Zitat von: CoolTux am 03 Oktober 2017, 19:13:41
Und noch ein guter Tip.
Vergiss die blöden includefiles in der fhem.cfg. FHEM ist modern, du brauchst dich nicht mehr um ein cfg File kümmern, das macht FHEMWEB für Dich. Du kannst alles über die Oberfläche machen und dabei wird auch noch geprüft ob du murks machst oder es so ok ist.

Damit hast du prinzipiell recht. Ich behalte gern den Überblick wo was definiert ist, um direkt eingreifen zu können. Es gibt viele Fälle, in denen ein Texteditor mit Tabs viel schneller und praktischer ist.
Außerdem bilde ich mir ein, dadurch eher zu verstehen wie alles funktioniert.  Für Perl Code Check ist die Weboberfläche wiederum sehr gut. Hat mal wieder alles seine Vor- und Nachteile