Ankündigung

Einklappen
Keine Ankündigung bisher.

Fensterkontakte inkl. gekippt (Logik)

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

  • Msinn
    antwortet
    Schau mal ins Wiki. eval und eval_trigger sind dort dokumentiert. Den selben Fehler kannst Du wenn Du mumpfs bzw. meinen Tipp befolgt hast nicht bekommen, höchstens einen ähnlichen. Wenn Du uns den jedoch nicht verrätst, können wir auch nicht weiterhelfen.

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Leider hat das nicht geholfen.....mir fehlt hier einfach eine ordentliche Doku!

    Code:
    2017-10-24  20:36:22 WARNING  Test.zu      Item Test.zu: problem evaluating True if sh.Buerov() == 1 and sh.Buerog() == 1 else False: 'SmartHome' object has no attribute 'Buerov'
    Zuletzt geändert von magiczambo; 24.10.2017, 19:37.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Mumpf hat (fast) recht. Im eval müssen die Items über das sh Objekt angesprochen werden. Also: sh.Buerog() und sh.Buerorv()

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Hi,

    es muss Buerog() und Buerov() heissen (nur im eval)

    Gruß, Waldemar

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Du könntest drei Items anlegen:
    Leider funktioniert deine Lösung nicht. Er meckert hier immer an:
    Code:
    2017-10-24  19:47:53 WARNING  Test.zu      Item Test.zu: problem evaluating True if Buerov == 1 and Buerog == 1 else False: name 'Buerov' is not defined
    Auszug aus der items.yaml

    Code:
    Test:
        Buerov:
            type: num
            knx_dpt: 1
            knx_cache: 4/1/5
            visu_acl: rw
    
        Buerog:
            type: num
            knx_dpt: 1
            knx_cache: 4/1/6
            visu_acl: rw
    
        zu:
            type: bool
            enforce_updates: yes
            eval: True if Buerov == 1 and Buerog == 1 else False
            eval_trigger:
              - Buerov
              - Buerov
    
        gekippt:
            type: bool
            enforce_updates: yes
            eval: True if Buerog == 1 and Buerov == 0 else False
            eval_trigger:
              - Buerog
              - Buerov
    
        offen:
            type: bool
            enforce_updates: yes
            eval: True if Buerog == 0 and Buerov == 0 else False
            eval_trigger:
              - Buerog
              - Buerov

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Zitat von mumpf Beitrag anzeigen
    ...stimmt aber nicht, denn offen ist ja eigentlich “nicht zu“.
    Ist die Frage wie du offen definierst. In meinem Fall ist es eben nicht so. Offen ist nicht zu(verschlossen) und nicht gekippt

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Hallo Waldemar,

    das ist jetzt aber eher wortklauberei

    Fenstergriffe meherer Hersteller liefern genau diese 3 Stati. Es macht halt schon einen Unterschied ob ein Fenster gekippt ist, oder ob ich einfach reinklettern kann.

    Einen Kommentar schreiben:


  • mumpf
    antwortet
    Zitat von magiczambo Beitrag anzeigen
    Das liest sich schlüssig...
    ...stimmt aber nicht, denn offen ist ja eigentlich “nicht zu“. Ich will darauf hinaus, dass gekippt auch offen ist, den dritten Status braucht man eigentlich nicht.

    Aber es ist natürlich deine Sache, wie du das auswerten willst...

    Gruss, Waldemar

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Du könntest drei Items anlegen:
    Das liest sich schlüssig....werde ich heute Abend mal austesten!

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Du könntest drei Items anlegen:

    Code:
    fenster:
        reed1:
            ...
        reed2:
            ...
        zu:
            type: bool
            eval: True if reed1 == 1 and reed2 == 1 else False
            eval_trigger:
            - reed1
            - reed2
    
        gekippt:
            type: bool
            eval: True if reed1 == 0 and reed2 == 1 else False
            eval_trigger:
            - reed1
            - reed2
    
        offen:
            type: bool
            eval: True if reed1 == 0 and reed2 == 0 else False
            eval_trigger:
            - reed1
            - reed2

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Zitat von Sandman60 Beitrag anzeigen
    allerdings müßtest Du etwas präziser sein was Du nun machen willst (Visu, Logik,?)
    Ich will vorerst in der Visu in der Übersicht der Räume jeweils darstellen, ob ein Fenster geschlossen ist (Kein Icon anzeigen), Offen ist (Offenes Fenster), Gekippt (gekipptes Fenster)
    Zitat von Sandman60 Beitrag anzeigen
    ... Hilfreich wäre es m.E. wenn Du den Offen und Geschlossen invertieren könntest, sprich 1/1=Offen, dann kann man einiges vereinfachen
    Invertierung sollte nicht das Problem darstellen (eval: not value).

    Zitat von Sandman60 Beitrag anzeigen
    Bspw. prüfst Du dann nur auf Offen=1 ab wenn Du wissen willst ob Offen oder Gekippt ist, analog Offen=0 wäre geschlossen.
    Hier komme ich jetzt nicht ganz mit.

    Einen Kommentar schreiben:


  • Sandman60
    antwortet
    Habe bei meinen Enocean Griffen eine ähnliche Situation mit 2 Zuständen und kann Dir da gerne helfen, allerdings müßtest Du etwas präziser sein was Du nun machen willst (Visu, Logik,?)... Hilfreich wäre es m.E. wenn Du den Offen und Geschlossen invertieren könntest, sprich 1/1=Offen, dann kann man einiges vereinfachen. Bspw. prüfst Du dann nur auf Offen=1 ab wenn Du wissen willst ob Offen oder Gekippt ist, analog Offen=0 wäre geschlossen.

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Ich muss hier mal fleddern.

    Folgender Vorrausetzung bei mir:

    2 Reeds je Fenster:
    Reed 1 mit Magnet am "Gestänge" (erkennen ob Fenstergriff in auf/zu Stellung)
    Reed 2 unten im Fenster (gekippt Erkennung)

    Als bei quasi folgende "Matrix":
    Reed 1 Reed 2
    Fenster zu 1 1
    Gekippt/Angelehnt 0 1
    Offen 0 0
    Wie bekomme ich das nun zuverlässig dargestellt ohne große Logik Schleifen.

    Ich habe vor allem das Problem mit gekippt bei den oben gezeigten Lösungen.

    Einen Kommentar schreiben:


  • callidomus
    antwortet
    Zitat von melodoi Beitrag anzeigen
    kennt jemand eine solche Lösung für den Gira Homeserver.
    das mit dem Kapern gilt auch für Dich. Davon abgesehen sind wir im SH.py-Subforum.

    Deine Frage passt wesentlich besser ins Hauptforum.

    Bis bald

    Marcus

    Einen Kommentar schreiben:


  • Höhlenbär
    antwortet
    Danke für den Hinweis

    @Höhlenbär
    Die Frage gehört aber eher in das sV-Forum.
    Vieleicht solltest Du Dir angewöhnen nicht die Thrads zu "kapern".
    Ok sorry dafür

    Einen Kommentar schreiben:

Lädt...
X