Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues MQTT Plugin

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

  • Msinn
    antwortet
    Du kannst nicht zwei Items zu einem kombinieren. Du kannst nur diese zwei Items als Hilfsitems verstehen und sie z.B. über eval von einem Item ableiten.

    Code:
    relay:
        type: bool
    
        relay_off:
            type: bool
            eval: False if sh...() == False else None
            eval_trigger: ..
            enforce_updates: true
            mqtt_topic_out: 'zuhause/rfbridge/relay/0/set
    
        relay_on:
            type: bool
            eval: True if sh...() == True else None
            eval_trigger: .. enforce_updates: true
            mqtt_topic_out: 'zuhause/rfbridge/relay/1/set

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    danke für deine Antwort.
    ich habe jetzt nicht gefunden, ob man die Firmware so konfigurieren kann, dass die Daten in der Payload übertragen werden.
    Wie kombiniere ich die zwei Items dann auf Sh.py Seite zu einem?

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von henfri Beitrag anzeigen
    Prinzipiell muss nur in /zuhause/rfbridge/relay/[N]/set eine 0 oder 1 geschrieben werden.
    Da
    mit dem MQTT Plugin solltest Du zwei item definieren müssen, da die Daten hier im MQTT-Topic übertragen werden (statt in der Payload der MQTT Message)

    Einen führenden Slash sollte man bei MQTT Topics übrigens nicht verwenden. Davor wird gewarnt, da dass mehr Performance benötigt.

    Folgende Item Definitionen sollten tun was Du möchtest.

    Code:
    relay_off:
        type: bool
        enforce_updates: true
        mqtt_topic_out: 'zuhause/rfbridge/relay/0/set
    
    relay_on:
        type: bool
        enforce_updates: true
        mqtt_topic_out: 'zuhause/rfbridge/relay/1/set

    Einen Kommentar schreiben:


  • henfri
    antwortet
    Hallo,

    hat einer von euch den Artikel in der c't 8/18 "Funkbrücke" gelesen?

    Hier wird die Firmware Espurna auf eine Sonoff 433Mhz Bridge geflasht. Diese spricht dann MQTT.
    Unter http://ct.de/ysa3 gibt es die Projektseite inklusive einem Beispielskript (Python).

    Ich frage mich, welchen Aufwand es bedeuten würde, statt des Python Skript das Sh.py MQTT Plugin zu nutzen. Ich kenne zwar MQTT vom Prinzip her, habe es aber noch nie genutzt.

    Prinzipiell muss nur in /zuhause/rfbridge/relay/[N]/set eine 0 oder 1 geschrieben werden.

    Links:
    Espurna: link
    RF Bridge: link
    Shop (13$ inkl. Versand +Zoll) link

    Gruß,
    Hendrik

    Einen Kommentar schreiben:


  • knxmfbp
    antwortet
    Zitat von Msinn Beitrag anzeigen
    Ok, dann bezieht er sich aber auf das alte MQTT Plugin und nicht auf das in diesem Thread besprochene neue MQTT Plugin.
    Ja genau, meine Frage bezog sich auf das alter Plugin vs. neue Plugin. Danke für die Aufklärung.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Ok, dann bezieht er sich aber auf das alte MQTT Plugin und nicht auf das in diesem Thread besprochene neue MQTT Plugin.

    Einen Kommentar schreiben:


  • Echo
    antwortet
    Zitat von Msinn Beitrag anzeigen

    Wann soll das denn so gewesen sein?
    Ich glaube er meint für jeden Subscriber ein eigener Thread.
    Es wird nur noch einer gestartet.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von knxmfbp Beitrag anzeigen
    Werden bei dem neuen Plugin auch noch immer Threads gestartet für jedes Item oder ist das jetzt gelöst?
    Wann soll das denn so gewesen sein?

    Einen Kommentar schreiben:


  • knxmfbp
    antwortet
    Werden bei dem neuen Plugin auch noch immer Threads gestartet für jedes Item oder ist das jetzt gelöst?

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Raspi3: Python 3.5.3

    Hab es soeben auf Raspi1 und Raspi2 getestet, überall kommt es bis zum Connection returned result 'Connection Accepted.' Danach passiert aber nichts mehr.

    Hingegen funzt es sowohl am Mac als auch im Docker Image mit Python 3.4.2 und Python 3.5.3.
    Hier kommt jeweils das ersehnte "Connected to broker 'mosquitto version 1.4.14' at address..."


    Einen Kommentar schreiben:


  • bmx
    antwortet
    Zitat von Onkelandy Beitrag anzeigen
    ***BREAKING NEWS***
    Die Fehlerquelle ist gefunden, allerdings wohl ziemlich absurd. Sobald auf dem Raspi3 mehr als 5500 Items in SmarthomeNG deklariert sind (das sind es bei mir wegen der Autoblind Statemachine), funktioniert das Plugin nicht mehr. Bei genau 5499 wird die Verbindung immer hergestellt, bei 5001 nie. Ich habe das nun in einem Docker Container auf der Synology getestet, dort spielt die Anzahl Items keinerlei Rolle. An der Ressourcenauslastung kann es aber nicht liegen. RAM und CPU sind großteils bei maximal 25%.
    Welche Python Versionen laufen denn da auf den Systemen?

    Hast Du einen Raspi2 wo Du das auch testen kannst?

    Einen Kommentar schreiben:


  • Onkelandy
    antwortet
    Msinn dir fällt vermutlich auch kein Grund ein, warum bei mir das Plugin nicht funktioniert, sobald mehr als 5500 Items geladen werden? Kann es irgendwie an der Ladedauer liegen? Absurderweise tritt das Problem nur am Raspi auf. Verbindung wird accepted, danach passiert aber leider nix mehr
    Siehe https://knx-user-forum.de/forum/supp...75#post1171475

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    So wie der SONOFF WLAN Schalter das implementiert, bekommst Du das mit dem MQTT Plugin nicht auf ein Item. Bei der etwas schrägen Implementierung musst Du das über Hillfsitems konsolidieren.

    Einen Kommentar schreiben:


  • Sisamiwe
    antwortet
    Ich merke wieder, dass ich klarer formulieren muss. Ich habe die Doku gelesen und weiß, dass mqtt-topic für ein und ausgehende Messages ist.

    Wie gesagt, versuche ich einen SONOFF WLAN Schalter mit Tasmota FW (die ermöglicht MQTT) zu integrieren.
    Dabei ist Schalten und Rückmeldung wie folgt definiert:
    The relay can be controlled with cmnd/sonoff/power on, cmnd/sonoff/power off or cmnd/sonoff/power toggle. Sonoff will send a MQTT status message like stat/sonoff/POWER ON.
    Tasmota Page

    Hier sind also Pub und Sub mit verschiedenen Topics belegt bzw. zugeordnet. Und hier wäre die Frage, ob man das auf ein Item bekommt.
    Ich habe es mal mit "on_updates" versucht. Ohne "enforce_updates; 'true'" sollte ja bei gleichem Wert nicht doppelt gesendet werden, oder?

    Code:
    Sonoff:
        S20_1:
            Switch_bool:
                type: bool
                mqtt_topic_init: cmnd/sonoff_s20/POWER
            Switch_num:
                type: num
                mqtt_topic_init: cmnd/sonoff_s20/POWER
            Power_str:
                type: str
                mqtt_topic_in: stat/sonoff_s20/POWER
                cache: 'yes'
            Power_bool:
                type: bool
                eval: 1 if sh.Sonoff.S20_1.Power_str() == "ON" else 0
                eval_trigger: Sonoff.S20_1.Power_str
                on_update:
                - Sonoff.S20_1.Switch_bool = sh.Sonoff.S20_1.Power_bool()
    Dankeschön.
    Zuletzt geändert von Sisamiwe; 02.01.2018, 22:54.

    Einen Kommentar schreiben:


  • Msinn
    antwortet
    Zitat von Sisamiwe Beitrag anzeigen
    Liese sich ggf in dem bool Item mit eval: aus true/false eine 1/0 machen?
    Das wäre eine beliebige Abbildung False -> String A, True auf String B.

    Zitat von Sisamiwe Beitrag anzeigen
    Noch ne Frage: Lässt sich Pub und Sub auf einem Item vereinigen, so wie bei knx_send und knx_listen?
    Ich meine, dass Senden und Hören auf ein Item läuft?
    Ja, wie wäre es mit einem Blick in die Doku?

    Einen Kommentar schreiben:

Lädt...
X