Ankündigung

Einklappen
Keine Ankündigung bisher.

misterhouse code reload

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    misterhouse code reload

    Hi liebe Forummitglieder,

    wenn ich Änderungen an mh vornehme und den codereload durchführe, gibt es im log viele "replays" und da ich Sprachausgabe laufen habe mit z.B.

    HTML-Code:
    speak ("Haustür auf")             if (state_now $haustuer_tuersensor eq 'on');
    spricht mh immer fleissig die Sprachcommandos ... bei jedem reload oder neustart von mh.

    Habt Ihr eine Ahnung wie man dies unterbindet

    grüsse

    #2
    Hast du schon mal versucht ein
    Code:
    if (!$Reload) { ... }
    einzufügen. Die Funktion state_now ist ja nur in dem einen Lauf gültig in dem sich der Wert ändert. Eventuell entspricht das ja beim Reload dem ersten Lauf, bei dem auch $Reload wahr ist.

    Ansonsten könnte es sein, dass du das Read-Flag gesetzt hast? Dann wird beim Reload evtl. ein Read auf den Bus abgesetzt. Wenn der Wert dann eintrudelt, dann wird halt state_now gültig ... Sicher bin ich mir hier aber nicht.

    Mike

    Kommentar


      #3
      Ja ich habe bei vielen das R für read stehen.
      Welchen Zweck hat das R, denn überhaupt?
      Muss das R gesetzt sein um überhaupt von dieser Variable (sprich vom Bus) zu lesen?

      Kommentar


        #4
        Das R wird nur dann beim Start verwendet um MH mit dem Bus zu synchronisieren. D.h. für alle R Items wird ein Read-Request abgesetzt. Dann muss natürlich auch ein Gerät für diese Gruppe das Lese-Flag gesetzt haben. Wenn das nicht erfüllt ist, dann gehen die Read-Requests ins Leere.

        Ansonsten wird der Status beim Mithören eines Write entsprechend gesetzt. Wenn ein Write über den Bus geht, während MH gerade nicht läuft, dann wird MH beim nächsten Start den letzten ihm bekannten Wert anzeigen. U.U. ist somit die Visualisierung falsch.

        Mike

        Kommentar

        Lädt...
        X