Ankündigung

Einklappen
Keine Ankündigung bisher.

Switch Status (Symbol) ändern

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

    Switch Status (Symbol) ändern

    Hallo,

    ich bin der absolute Neuling in Sachen openhab2.

    Ich habe einen simplen Switch und einen Contact programmiert. Funktioniert soweit.
    Ich bekomme es leider nicht hin, wenn der Contact geschlossen ist der Switch, aber nur das Symbol und nicht der Switchschalter, dass sich sein Status ändert.

    Es wird immer der Status des Symbols und des Schalters geändert.

    Kann mir jemad weiterhelfen ?

    Danke im Voraus.

    #2
    Hi, was willst du denn genau mit dem Switch erreichen? Bei einem z.B. Fensterkontakt ist ein Switch nicht unbedingt nötig, wenn man nur den Status offen oder geschlossen anzeigen möchte. Du kannst gerne mal deine .items und deine Sitemap hier posten

    Viele Grüße
    Patrick

    Kommentar


      #3
      Ich möchte mit dem Switch das Garagentor öffen / schließen und über den Conact den Status erhalten, ob das Tor offen oder zu ist.

      Kommentar


        #4
        schick doch mal die items und die sitemap als code hier rein. Kann mir gerade schwer vorstellen wie du beide Items in einen Switch gepackt hast.

        Kommentar


          #5
          Sitemap:

          sitemap default label="Garage" {

          Switch item=channel1
          Switch item=channel2

          }

          Item:

          Switch channel1 "Tor 1" { gpio="pin:14 activelow:yes initialValue:high" }
          Switch channel2 "Tor 2" { gpio="pin:15 activelow:yes initialValue:high" }
          Contact DoorSensor1 "Tor1 offen" {gpio="pin:24 debounce:10 activelow:yes" }

          Rules:

          rule Tor1
          when
          Item channel1 received command ON
          then
          Thread::sleep(3000)
          sendCommand(channel1, OFF)
          end

          rule Tor2
          when
          Item channel2 received command ON
          then
          Thread::sleep(3000)
          sendCommand(channel2, OFF)
          end

          rule Tor1_offen
          when
          Item DoorSensor1 received update CLOSED
          then
          postUpdate(channel1, ON)
          end

          Kommentar


            #6
            Ich kann dir nicht sagen, ob man den Status der Switches und des Icons getrennt ansprechen kann. Gefühlt würde ich sagen nein.
            Ich würde es trennen. Du kannst das Contact Item in der Sitemap ungefähr so gestalten:

            Code:
            Text item=DoorSensor1 label="Garage [MAP(garage.map):%s]" valuecolor=[==CLOSED="#008000", ==OPEN="red"] icon="garagedoor"
            in Ordner transform legst du die Datei garage.map an bei der du festlegst wie die Werte OPEN UND CLOSED übersetzt werden.
            mit Valuecolor kannst du eine Farbe je nach Wert angeben. Kann aber natürlich auch weggelassen werden.

            Den Switch selbst, mit dem du die Garage steuerst würde ich einfach als extra Item in der Sitemap anlegen.

            Kommentar


              #7
              Du kannst das Icon wie folgt erzwingen:
              Code:
              sitemap default label="Garage" {
                  Switch item=channel1 icon="garagedoor-open" visibility=[DoorSensor1==OPEN]
                  Switch item=channel1 icon="garagedoor-closed" visibility=[DoorSensor1==CLOSED]
                  Switch item=channel2 icon="garagedoor-open" visibility=[DoorSensor2==OPEN]
                  Switch item=channel2 icon="garagedoor-closed" visibility=[DoorSensor2==CLOSED]
              }
              Es werden also immer zwei Widgets eingeblendet und zwei Widgets ausgeblendet, je nachdem, welchen Status der jeweilige Sensor gerade hat.

              Kommentar


                #8
                Danke für die Tips.

                Ich konnte es umsetzen !

                Kommentar


                  #9
                  Sorry das ich dieses Uralte Thema wieder aus krame, aber ich habe das gleiche vor wie habbit1920 und habe diese Lösung probiert

                  Zitat von udo1toni Beitrag anzeigen
                  Du kannst das Icon wie folgt erzwingen:
                  Code:
                  sitemap default label="Garage" {
                  Switch item=channel1 icon="garagedoor-open" visibility=[DoorSensor1==OPEN]
                  Switch item=channel1 icon="garagedoor-closed" visibility=[DoorSensor1==CLOSED]
                  Switch item=channel2 icon="garagedoor-open" visibility=[DoorSensor2==OPEN]
                  Switch item=channel2 icon="garagedoor-closed" visibility=[DoorSensor2==CLOSED]
                  }
                  Es werden also immer zwei Widgets eingeblendet und zwei Widgets ausgeblendet, je nachdem, welchen Status der jeweilige Sensor gerade hat.
                  an und für sich funktioniert es auch. Nur das mit dem Icon selbst nicht.
                  Ich habe immer das Standard Garagentor Icon aber nie Offen und nie Closed.

                  Das Problem scheint von den Icons zu kommen, denn wenn ich z.B. statt "garagedoor-open" das icon "sun" nehme und statt "garagedoor-closed" das icon "moon" so verändert es sich je nachdem ob das Tor offen oder zu ist. Habe mir auch schon die icons nochmal als png aus github geladen und in den icons/classic Ordner auf den Pi gelegt und dann entsprechend mit garagedoor-open.png eingefügt. Auch dann bekomme ich das Standardicon mit halb offenem Tor

                  Hier mal die letzte Implementierung in der Sitemap (habe mir jetzt erstmal über unterschiedliche Texte geholfen):

                  Code:
                  [COLOR=#569cd6]Frame[/COLOR][COLOR=#000000] label=[/COLOR][COLOR=#ce9178]"Keller/Garage/Draußen"[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#000000]icon=[/COLOR][COLOR=#ce9178]"cellar"[/COLOR][COLOR=#d4d4d4] {[/COLOR]
                  [COLOR=#569cd6]Default[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#000000]item=[/COLOR][COLOR=#4ec9b0]KGD_Garagentorsteuerung[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#000000]label=[/COLOR][COLOR=#ce9178]"Garagentor - Status = offen"[/COLOR] icon=[COLOR=#ce9178]"garagedoor-open.png"[/COLOR] visibility=[[COLOR=#4ec9b0]Garagentor_Status[/COLOR]==[COLOR=#b5cea8]OPEN[/COLOR]]
                  [COLOR=#569cd6]Default[/COLOR][COLOR=#d4d4d4] [/COLOR]item=[COLOR=#4ec9b0]KGD_Garagentorsteuerung[/COLOR] label=[COLOR=#ce9178]"Garagentor - Status = geschlossen"[/COLOR][COLOR=#d4d4d4] [/COLOR]icon=[COLOR=#ce9178]"garagedoor-closed.png"[/COLOR][COLOR=#d4d4d4] [/COLOR]visibility=[[COLOR=#4ec9b0]Garagentor_Status[/COLOR]==[COLOR=#b5cea8]CLOSED[/COLOR]]
                  Jemand eine Idee?
                  Zuletzt geändert von c0rtez; 30.11.2020, 19:38.

                  Kommentar


                    #10
                    Also, die Endung gehört keinesfalls hintendran. (.png) Ich erinnere mich dunkel, dass es dazu einen Change gab, weshalb das Anhängen des Status nicht mehr funktioniert. Workaround: Speichere eine kopie der Bilder im conf-Verzeichnis unter icons/classic/ mit einem eigenen Namen (aber ohne Minus im Namen) ab. Die Standard Icons bkommst Du in der Doku zu openHAB.

                    Kommentar


                      #11
                      Dann war meine Denkrichtung die Icons manuell zu verwenden ja schon mal gar nicht so falsch.
                      Nachdem ich die Dateinamen geändert habe hat es dann auch funktioniert.

                      Danke!

                      Kommentar

                      Lädt...
                      X