Elektroda.de
Elektroda.de
X

Zugriff auf Mqtt-Channel aus der autoexec von openBK - Beispiel benötigt

housertelmstein 171 2
  • #1
    housertelmstein
    Niveau 3  
    Hi,

    kann ich aus der autoexec von openBK auf einen Mqtt-Channel zufgreifen? Ich glaube, das geht mit $CH*** oder?
    aber irgendwie klappt es nicht. Kann mir jemand ein kleines Beispiel machen?

    Danke und Gruß

    Silas
  • #2
    p.kaczmarek2
    Moderator Smart Home
    In der Tat ist es in OpenBeken möglich, auf Variablen in Befehlen über die entsprechenden Schlüsselwörter zuzugreifen:
    https://github.com/openshwprojects/OpenBK7231T_App/blob/main/docs/constants.md
    Das bedeutet, dass zum Beispiel das Skript:
    
    setChannel 10 123
    publishInt MyVar $CH10*0.1
    

    über MQTT den Schlüssel MyVar und den Wert 12.3 veröffentlicht, d. h. den Wert von Kanal 10 multipliziert mit 0.1.

    Das konkrete Skript und die Verwendung von Variablen hängt davon ab, was du erreichen willst. Kannst du also beschreiben, welchen Effekt du erreichen willst, und den Code angeben, an dem du gerade arbeitest?
    [F]
  • #3
    housertelmstein
    Niveau 3  
    Hi

    Danke für die Antwort. Ich brauche es genau umgekehrt.
    Ich möchte gerne Zeit in sec aus einem mqtt Channel auslesen.
    Z. B. habe ich in Homeassistent einen Slider mit dem man eine Zahl zwischen 0 und 25 wählen kann. Diese wird dann per mqtt published (shutter/Kirchen/4).
    Nun würde ich gerne beim aufrufen des Scripts zum öffnen des Rollladens den Wert aus shutter/Kirchen/4 auslesen und als delay_s Setzen.

    Ich dachte es geht so:
    
    setChannel 1 1
    delay_s $CH4
    setChanbel 1 0
    


    Aber $CH*** bezieht sich nur auf Channel des Geräts oder?

    Hinzugefügt nach 9 [Stunden] 10 [Minuten]:

    Ich habe es herausgefunden!
    Zum publishen aus autoexec wie gewohnt mit:

    publish #TOPIC# Value


    z. B.: publish TestTopic 55

    dann wird in Mqtt die Topic TestTopic unter dem jeweiligen Gerät "angelegt" und unter TestTopic/get der Wert 55 "gespeichert"

    Wenn man nun z. B. aus Homeassistant Werte schreiben will und diese später in der Autoexec lesen will geht das so:
    z. B. mit einem Slider eine InputNumber verändern und dann mittel script oder Automatisierung in Mqtt in TestTopic/set publishen!
    Wichtig ist in /set zu publishen! Dann kann man aus der autoexec heraus mit $CHTestTopic auf den Wert zugreifen!
    Ich hoffe es ist einigermaßen verständlich. Sobald ich fertig bin, poste ich den kompletten Code!

    Gruß Silas