Ankündigung

Einklappen
Keine Ankündigung bisher.

MQTT initialisieren?

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

    MQTT initialisieren?

    Hab einen Sonoff SV den ich auf Tasmota geflash hab. Der sendet mitr zwei Zustände an den Openhab2 Garage Offen und Garage zu .Die Anzeigen in meiner Sitemap kommen nach dem Start von Openhab erst wenn ich die Garage einmal zu und auf mache .Wie kann ich das programieren das die Anzeige geschlossen wenn gerade geschlossen und andersrum gleich im Openhab erscheint?

    #2
    Du musst einmalig den Zustand abfragen. Du könntest z.B. ein Item zusätzlich definieren, über das Du keinen Schaltbefehl schickst, sondern nur das Topic, das sollte dann ja dazu führen, dass der Zustand gesendet wird.

    Kommentar


      #3
      So sehen meine items aus
      Code:
      Switch Sonoffsv1 "Garagentor zufahren"<garagedoor>  { mqtt=">[mosquitto:cmnd/sonoffsv/POWER1:command:*:default],<[mosquitto:stat/sonoffsv/POWER1:state:default]" }
      Switch Sonoffsv2auf "Garage auf[MAP(tasmota.map):%s]" <garagedooro> { mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:command:*:default],<[mosquitto:stat/sonoffsv/POWER2:state:default]" }
      Switch Sonoffsv3zu "Garage[MAP(tasmota1.map):%s]"<garagedoorc>  { mqtt=">[mosquitto:cmnd/sonoffsv/POWER3:command:*:default],<[mosquitto:stat/sonoffsv/POWER3:state:default]" }
      Number Sonoffsv1_RSSI "Sonoff SV [%d %%] " <network>    {mqtt="<[mosquitto:tele/sonoffsv/STATE:state:JSONPATH($.Wifi.RSSI)]"}
      meinst du so
      Code:
      Switch Sonoffsv2aufdummy "Garage auf" <garagedooro> { mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:state:*:default] }
      Switch Sonoffsv3zudummy  "Garage zu]"<garagedoorc>  { mqtt=">[mosquitto:cmnd/sonoffsv/POWER3:state:*:default] }

      Kommentar


        #4
        Ich meinte ein Item, welches einen 0-Byte-Befehl schickt.

        Kommentar


          #5
          hm so ?
          Code:
          [FONT=arial]Switch Sonoffsv2aufdummy "Garage auf" <garagedooro> {mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:[SIZE=14px]command:ON:0[/SIZE]]}[/FONT]
          
          
          [FONT=arial]Switch Sonoffsv3zudummy  "Garage zu]"<garagedoorc> {mqtt=">[mosquitto:cmnd/sonoffsv/POWER3:[SIZE=14px]command:ON:0[/SIZE]]}[/FONT]
          Zuletzt geändert von djuscha; 19.10.2018, 12:08.

          Kommentar


            #6
            Ich fürchte, es ist nicht vorgesehen, über das Item 0-Byte-Befehle zu schicken. Wenn man z.B. mqtt spy verwendet, kann man ein Topic mit leerem Befehl ansprechen, dann antwortet Tasmota mit dem aktuell gesetzten Wert. Übertragen auf openHAB sähe das Item so aus:
            Code:
            Switch Sonoffsv2aufdummy "Garage auf" <garagedooro> {mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:command:ON:]}
            Aber das wird nicht funktionieren, da die Definition so unvollständig ist.
            Eventuell geht es so:
            Code:
            Switch Sonoffsv2aufdummy "Garage auf" <garagedooro> {mqtt=">[mosquitto:cmnd/sonoffsv/Status:command:ON:11]}
            Das sollte den Status entsprechend dem normalen Telemetrie-Telegramm ausspucken, welches Du dann unkompliziert im Original-Item berücksichtigen kannst.
            Code:
            Switch Sonoffsv2auf "Garage auf[MAP(tasmota.map):%s]" <garagedooro> { mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:command:*:default],<[mosquitto:stat/sonoffsv/POWER2:state:default],<[mosquitto:tele/sonoffsv/TELEMETRY:state:JSONPATH($.POWER2)]" }
            Allerdings ohne Gewähr, da ich es gerade schlecht testen kann. Das Telemetrie-Telegramm sollte sowieso autoamtisch alle x Minuten kommen. Das wäre auch noch eine Option, falls die Knoten nicht batteriebetrieben sind, einfach die Telemetriewiederholung auf einen annehmbar kurzen Wert setzen, z.B. 1 Minute. Das bedeutet dann, dass spätestens 1 Minute nachdem openHAB gestartet (und die Startphase beendet) wurde, die Schalter den korrekten Zustand anzeigen, ganz ohne Trigger mit extra Items...

            Kommentar


              #7
              Vieln Dank für den Tip! so wie du geschrieben hast ging nicht,, aber dank deiner Erklärung geht jetzt so

              Code:
                Switch Sonoffsv2auf "Garage auf[MAP(tasmota.map):%s]" <garagedooro> { mqtt=">[mosquitto:cmnd/sonoffsv/POWER2:command:*:default],<[mosquitto:stat/sonoffsv/POWER2:state:default],<[mosquitto:tele/sonoffsv/STATE:state:JSONPATH($.POWER2)]"}
                Switch Sonoffsv3zu "Garage[MAP(tasmota1.map):%s]"<garagedoorc>      { mqtt=">[mosquitto:cmnd/sonoffsv/POWER3:command:*:default],<[mosquitto:stat/sonoffsv/POWER3:state:default],<[mosquitto:tele/sonoffsv/STATE:state:JSONPATH($.POWER3)]"}
              mit TELEMETRY ging es nicht aber mit STATE geht.

              Kommentar


                #8
                Ah. Ja, prima, das Wiki enthielt leider kein gescheites Beispiel.

                Kommentar

                Lädt...
                X