Ankündigung

Einklappen
Keine Ankündigung bisher.

Zwei Lampen verbinden

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

    Zwei Lampen verbinden

    Hallo,

    vermutlich habe ich eine sehr blöde Frage, aber vielleicht kann mir ja einer helfen und mein Brett vorm Kopf entfernen.

    Ich habe zwei Lampen, beide als unabhängige Items realisiert. Die Rückmeldeobjekte sind getrennt.

    Code:
    LichtDecke1:
        name: Licht Decke 1
        type: bool
        visu_acl: rw
        sv_widget: "{{ basic.switch('item', 'item') }}"
        knx_dpt: 1
        knx_send: 6/1/0
        knx_listen: 6/5/0
    LichtDecke2:
        name: Licht Decke 2
        type: bool
        visu_acl: rw
        sv_widget: "{{ basic.switch('item', 'item') }}"
        knx_dpt: 1
        knx_send: 6/1/3
        knx_listen: 6/5/2
    Funktion über Taster und smartvisu einwandfrei.

    Zusätzlich gibt es ein Item Gesamt Decke, welches eine Kombination werden soll.

    Code:
    LichtGesamtDecke:
        name: Licht Gesamt Decke
        type: bool
        visu_acl: rw
        sv_widget: "{{ basic.switch('item', 'item') }}"
        alexa_name: "Wohnzimmer Licht Gesamt Decke"
        alexa_actions: "turnOn turnOff"
        knx_dpt: 1
        knx_send: 6/1/12
        knx_listen: 6/5/8
    Die Schaltaktoren hören zusätzlich auf die GA 6/1/12, so dass ich mit diesem Taster (oder der smartvisu) mit einem Klick beide Lampen schalten kann.

    Soweit so gut. Leider funktioniert das Rückmeldeobjekt 6/5/8 nicht, es wird ja auch von den Schaltaktoren nicht gesendet.

    Ich würde also gerne eine Logik erstellen, die das Rückmeldeobjekt auf True setzt, wenn einer der beiden Lampen geschaltet ist.

    Also Logik angelegt, watch_items auf die beiden Lampen => Trigger kommt auch an.

    Code:
    #!/usr/bin/env python
    
    newValue = sh.LichtDecke1() or sh.LichtDecke2()
    sh.LichtGesamtDecke(newValue)
    Prizipiell klappt das natürlich nicht. Sind beide Lampen aus, löst das einschalten einer Lampe nun den Trigger aus, der das Rückmeldeobjekt beider Lampen auf true setzen soll. Das auslösen dieses Items aus der Logik schaltet aber nun beide Lampen ein. Da drehe ich mich im Kreis.

    Ich müsste also aus der Logik nur das Rückmeldeobjekt setzen, aber wie?

    Vielen Dank für Eure Hilfe und sorry für den vielen Text, hoffe es damit klar gemacht zu haben.


    Gruß
    curator17
    Zuletzt geändert von bmx; 13.11.2018, 17:32. Grund: Einrückungen für Python code ergänzt

    #2
    Ein Ansatz wäre, aus dem Rückmeldeobjekt eineigenes Item zu machen, welches dann keine knx_send Adresse braucht. Dieses Item könnte den Status dann per eval aus den beiden anderen Items bestimmen, so dass Du keine Logik brauchst.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Hallo,

      danke für die Idee mit dem getrennten Objekt. Könnte ein Ansatz sein. Was ich aber wohl brauche ist der Status auf der GA, nicht nur im Item, da ich auch LEDs damit verbinden will ala "Es brennt noch Licht"

      Kommentar


        #4
        Dann Packst Du die Status GA 6/5/8 mit knx_send in das Gesamt-Statusitem. Empfangen musst Du auf dem Item ja nichts, da der Gesamt-Status nicht vom Bus kommt.

        Wenn Du diesen Status nicht nur aktiv auf den Bus senden möchtest, sondern Geräte vom KNX Bus den Wert auch abfragen können sollen, müsstest Du noch ein knx_reply ergänzen.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar


          #5
          Ich denke, das es ist es, was du erreichen möchtest (bei den 2 Items den vollen Pfad angeben):

          Code:
          LichtDeckeStatusGesamt:
                type: bool
                knx_dpt: 1
                knx_status: 6/5/8
                knx_reply: 6/5/8
                eval: or
                eval_trigger: LichtDecke1 |  LichtDecke2

          Kommentar


            #6
            Es gibt dafür eine Logik, welches eingeschaltete Lampen ermittelt und auch ein Ausschalten dieser ermöglicht.

            Vielleicht passt das ja oder gibt noch mal andere Ideen.

            Schau mal: https://github.com/mknx/smarthome/wi...mpen-ermitteln
            Contribute to mknx/smarthome development by creating an account on GitHub.
            Zuletzt geändert von bmx; 14.11.2018, 13:36.

            Kommentar


              #7
              Die Beschreibung der Logik, welche eingeschaltete Lampen ermittelt, findet sich in aktualisierter Form (aktuelles Format der Konfigurationsdateien, etc.) hier: https://www.smarthomeng.de/anzahl-eingeschalteter-lampen-ermitteln

              Viele Grüße
              Martin

              There is no cloud. It's only someone else's computer.

              Kommentar


                #8
                Danke, hat geklappt

                Kommentar

                Lädt...
                X