Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues MQTT Plugin

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

    Hallo Msinn,

    ich habe aber die Shelly RGBW2 Geräte. Zur info: Ich habe das Shelly Plugin nicht in Betrieb aus 2 Gründen.
    Damals gab es das nicht und ich will die "Alexa" Funktion nicht verlieren. Die Geräte sind bei mir über IOBroker angebunden und da auch nicht über MQTT sondern über die Webschnittstelle.
    Man kann bei IOBroker im Plugin auswählen wie die Kommunikation funktionieren soll (siehe Bild unten). Wenn bei den Shelly Geräten MQTT aktiviert wird dann geht die Alexa Funktion verlohren. Diese nutzen aber meine Kinder sehr gerne und die soll auch beibehalten werden. Deswegen kommuniziere ich über IOBroker indirekt mit Shelly. Wenn ich jetzt aber garnichts bei bool_value eingebe dann sendet er aber ohne true und false.

    Shelly2MQTT.png

    Code:
        florian:
            alles_aus:
                type: bool
                visu_acl: rw
                knx_dpt: 1
                knx_send: 2/1/50
                knx_reply: 2/1/201
            licht:
                name: Florian Licht
                type: bool
                knx_send: 2/1/201
                enforce_updates: True
                knx_dpt: 1
                eval: or
                eval_trigger:
                  - .decke
                  - .wand
                  - .bett
                
                decke:
                    name: Decke
                    type: bool
                    visu_acl: rw
                    knx_dpt: 1
                    knx_send: 2/1/0
                    knx_listen: 2/1/1  
                    cache: 'yes'                
                bett:
                    name: LED Bett
                    type: bool
                    visu_acl: rw
                    knx_dpt: 1
                    knx_listen: 2/1/10
                    knx_status: 2/1/11
                    knx_reply: 2/1/11
                    mqtt_topic: Licht_Florian_Bett_Bool
    #                mqtt_mapping: "{True: 'true', False: 'false'}"
                    cache: 'yes'
                    dimmen:
                        type: num
                        visu_acl: rw
                        knx_dpt: 5.001
                        knx_listen: 2/1/13
                        knx_status: 2/1/14
                        knx_reply: 2/1/14
                        mqtt_topic: Licht_Florian_Bett_Wert
                        cache: 'yes'
    Wenn ich die Variable "bool_values" leer lasse und in Smartvisu Einschalte sendet MQTT nichts wenn ich dann Ausschalte sendet er einen leeren payload.

    hier ein Screenshott wo ich gestartet habe und 2 Nachrichten mit Status bekommen von Sophia und Florian. Beide false. Dann schalte ich bei Florian jeweils 2x an und 2x aus.



    Anmerkung 2020-05-28 092639.png

    Wie kann ich hier weiter vorgehen?

    Gruß Danny


    Kommentar


      Zitat von danny Beitrag anzeigen
      Deswegen kommuniziere ich über IOBroker indirekt mit Shelly.
      Was meinst Du damit? Ich verstehe Dein Setup im Moment nicht.

      Sieht das so aus?
      SmartHomeNG ---> MQTT ---> IOBroker ---> Alexa ---> Shelly?

      Das Bild ist übrigens nicht aus IOBroker sondern aus dem Webinterface des Shelly Devices selbst.

      Zitat von danny Beitrag anzeigen
      hier ein Screenshott wo ich gestartet habe und 2 Nachrichten mit Status bekommen
      Aus welchem Tool stammt der Screenshot?
      Wer sendet und wer hat die Topics aboniert?


      Andere Frage: Wenn die Shelly Devices bai Dir bereits über Alexa ansteuerbar sind, wäre dann nicht der Weg das Alexa Plugin von SmartHomeNG zu nutzen?
      Zuletzt geändert von Msinn; 28.05.2020, 09:33.
      Viele Grüße
      Martin

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

      Kommentar


        Zitat von Msinn Beitrag anzeigen
        Was meinst Du damit? Ich verstehe Dein Setup im Moment nicht.

        Sieht das so aus?
        SmartHomeNG ---> MQTT ---> IOBroker ---> Alexa ---> Shelly?
        SmartHomeNG ---> MQTT ---> IOBroker ---> Shelly(Web_Api)?
        oder Alexa direkt
        Alexa --->Shelly

        Zitat von Msinn Beitrag anzeigen
        Das Bild ist übrigens nicht aus IOBroker sondern aus dem Webinterface des Shelly Devices selbst.
        Stimmt.

        Zitat von Msinn Beitrag anzeigen
        Aus welchem Tool stammt der Screenshot?
        Wer sendet und wer hat die Topics aboniert?
        Topic to subscribe habe ich einfach ein # eingefügt.
        Mit dem Tool "mqttbox" arbeite ich immer und senden sollte smarthomeNG.
        Habe das Licht einfach in der Adminoberfläche von smarthomeNG ein- und ausgeschalten.
        In Smartvisu ändert es entsprechend seinen Status aber in der mqttbox sieht man nur wie im Screenshot vorher.

        Zitat von Msinn Beitrag anzeigen
        Andere Frage: Wenn die Shelly Devices bai Dir bereits über Alexa ansteuerbar sind, wäre dann nicht der Weg das Alexa Plugin von SmartHomeNG zu nutzen?
        Ich habe das Alexa Plugin schon mal probiert aber bin qualvoll gescheitert. Bei mir läuft IOBroker,SmarthomeNG,KNXD und Pihole auf einer Synology im Docker.
        Smartvisu im Webserver und MQTT als Packet auf der Synology (DS218+).
        Bekomme nach Umstellung die AmazonDash Buttons auch aktuell nicht zum laufen. Wollte nicht noch eine neue Baustelle aufmachen mit dem Alexa Plugin.
        Finde es auch viel zu kompliziert und die Beschreibung passte nicht zusammen mit dem was mir bei Amazon angezeigt wurde. Habe auch keinen ReverseProxy
        da ich VPN benutze. Wüsste auch nicht wie ich das mit meiner Synology machen könnte.
        MQTT muss doch irgendwie wieder zum laufen gebracht werden?

        Hatte es damals über eine Änderung im Plugin gelöst. Beitrag #93 von henfri. Das war nur ein Mapping von True auf true und False auf false.
        Das sollte doch bool_values machen oder nicht?

        Hier noch Screenshots von der Synology. Brauchts du irgendein Logfile? oder andere Bilder?

        Anmerkung 2020-05-28 113352.png

        Anmerkung 2020-05-28 113233.png
        Danke für deine Hilfe.
        Zuletzt geändert von danny; 28.05.2020, 10:51.

        Kommentar


          Ich habe Dein (geplantes) Setup jetzt so verstanden:

          Du möchtest von SmartHomeNG MQTT Telegramme an IOBroker schicken, der dann (für diese Kommunikation nicht relevant) auf einem weiteren Weg die Shelly Devices anspricht.

          Jetzt die Frage: Wie ist das Topic und wie muss die Payload aussehen, die IOBroker erwartet?
          Das Musst Du exakt benennen, da es für den Inhalt der Payload im MQTT Protokoll v3 keine Definition gibt. Die Payload ist einfach ein Array of Byte. Beide Geräte können sich also nur verstehen, wenn sie sich einig sind, wie dieses Array of Byte zu interpretieren ist.


          Ich vermute, Du möchtest auch Statusänderungen an SmartHomeNG zurückmelden. Wie ist das Topic, welches IOBroker sendet und welche Payload wird von IOBroker gesendet? Das kannst Du am besten Mit Tools wie MQTT Explorer, MQTT.fx oder ähnlichen sehen.


          Nachtrag:

          Zitat von danny Beitrag anzeigen
          hier ein Screenshott wo ich gestartet habe und 2 Nachrichten mit Status bekommen von Sophia und Florian. Beide false. Dann schalte ich bei Florian jeweils 2x an und 2x aus.
          Wo hast Du was gestartet?
          Woher hast Du die Nachrichten bekommen?
          Wie schaltest Du?
          Woher kommen die Messages wo false drüber steht? Wer interpretiert, dass die raw Payload "false" bedeutet?
          Wenn Du beim Einschalten 2 Messages bekommen hast und 2x an und 2x aus geschaltet hast, müsstest Du 6 MQTT Messages haben und nicht 4.
          Zuletzt geändert von Msinn; 28.05.2020, 11:27. Grund: Nachtrag hinzugefügt
          Viele Grüße
          Martin

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

          Kommentar


            Das geplante Setup hat mit smarthomeNG v1.6b schon funktioniert. Ich habe lediglich einen neuen Container mit smarthomeNG v1.7.1 angelegt und alles wieder so übernommen wie vorher. Bis auf das MQTT Plugin ohne alle Parameter wie vorher und das Plugin im Admininterface hab ich alles wie im unten im module.yaml geändert.

            Zur info: MQTT Explorer ist das gleiche wie MQTTBox.

            Das Topic ist:

            Licht_Florian_Bett_Bool

            siehe oben meine florian.yaml

            mqtt_topic: Licht_Florian_Bett_Bool

            und der Payload ist:

            true oder false

            mehr nicht.


            hier die module.yaml

            Code:
            %YAML 1.1
            ---
            # etc/module.yaml
            http:
                module_name: http
                starturl: admin
            
            admin:
                module_name: admin
            
            mqtt:
                module_name: mqtt
                broker_host: 192.168.1.2
                broker_port: 1883
                broker_monitoring: true
                bool_values: 'false','true'
                last_will_topic: SmarthomeNG Stop
                birth_topic: SmarthomeNG Start
            plugin.yaml
            Code:
            mqtt:
                plugin_name: mqtt
                broker_monitoring: true
            hier ein Screenshot von IOBroker von dem bool vom Florian:


            Anmerkung 2020-05-28 131629.png


            OK die Punkte hier:

            Wo hast Du was gestartet?
            Die Software MQTTBox auf meinem Dell Rechner.

            Woher hast Du die Nachrichten bekommen?
            Die ersten 2 Protokolle kommen vom Broker beim Start weil sie retain sind.

            Anmerkung 2020-05-28 134438.png
            Wie schaltest Du?

            Wenn ich ein true oder false im MQTT Explorer bei PUBLISH eingebe und Topic Licht_Florian_Bett_Bool auswähle.
            Dann geht die Lampe ein oder aus wie gewünscht.

            Wenn ich aber das im SmarthomeNG Admininterface mache dann kommt nur bei "false" eine leere Meldung und bei "true" kommt garnichts imm MQTT Broker an.

            Anmerkung 2020-05-28 134950.png
            Anmerkung 2020-05-28 135030.png


            Woher kommen die Messages wo false drüber steht?

            Vom Broker beim Start.

            Wer interpretiert, dass die raw Payload "false" bedeutet?

            keine Ahnung?

            Wenn Du beim Einschalten 2 Messages bekommen hast und 2x an und 2x aus geschaltet hast, müsstest Du 6 MQTT Messages haben und nicht 4.

            Ja ich bekomme ja 2 Retain beim start und nur wenn ich "false" im smarthomeNG schalte eine Message.
            2x Retain + 2x false +0x true = 4 MQTT Messages
            Zuletzt geändert von danny; 28.05.2020, 13:03. Grund: Schreibdepp.

            Kommentar


              Anmerkung 2020-05-28 140651.png

              Kommentar


                Zitat von danny Beitrag anzeigen
                Das geplante Setup hat mit smarthomeNG v1.6b schon funktioniert.
                Dann MUSST Du bool_values: 'false','true' weg lassen. Diese Option ist neu in v1.7 und wenn es in 1.6 gibt es die Möglichkeit gar nicht.
                --> 1.6b bedeutet Du warst auf dem develop branch. Jetzt bist Du anscheinend auf dem master (sonst wäre die mqtt Plugin Version v2.0.1)

                Du schickst mir viele Bilder aus Tools/Systemen die ich nicht kenne. Ich habe nicht die Zeit mich da einzulesen. Kannst Du einfach erstmal meine 5 Fragen beantworten?
                Viele Grüße
                Martin

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

                Kommentar


                  Im MQTT Explorer hast Du die Payload als json anzeigen lassen. Ist sie in der Raw Anzeige auch 'false'?

                  UND: Wer ist Sender des Pakets gewesen? IOBroker oder war das ein Schaltversuch aus SmartHomeNG?
                  Viele Grüße
                  Martin

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

                  Kommentar


                    Anmerkung 2020-05-28 142826.png

                    Wenn ich jetzt nur "false" bei bool_values eingebe und wenn ich in meinen Items im SmarthomeNG "false" und "true" schalte dann geht die Lampe aus bei "false" und bei "true" passiert nix.

                    Wenn ich jetzt nur "true" bei bool_values eingebe und wenn ich in meinen Items im SmarthomeNG "false" und "true" schalte dann geht die Lampe an bei "false" und bei "true" passiert nix..

                    ???

                    Wenn ich kein true und false eingebe passiert garnichts auf dem MQTT Broker.
                    Muss jetzt erst mal in die Spätshicht.
                    Danke erst mal. wegen den 5 Fragen. Die hab ich doch beantwortet. teils mit Bildern.


                    Gruß Danny
                    Zuletzt geändert von danny; 28.05.2020, 13:43.

                    Kommentar


                      Hast Du gelesen was ich geschrieben habe?
                      Viele Grüße
                      Martin

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

                      Kommentar


                        Hallo Msinn,

                        habe alles gelesen was du geschrieben hast. Fehler 60 und evtl. ein Bug. (Fehler sitz 60cm vom Bidschirm entfernt.)

                        Zitat von Msinn Beitrag anzeigen

                        Dann MUSST Du bool_values: 'false','true' weg lassen.
                        Habe ich gemacht! Das Problem ist wenn man in der Admin Weboberfläche im Feld bool_values etwas eingegeben hat (reboot vom Sytem), es dann wieder löscht(in der Admin Oberfläche) dann bleibt es in der etc.yaml stehen.

                        Code:
                        %YAML 1.1
                        ---
                        # etc/module.yaml
                        http:
                            module_name: http
                            starturl: admin
                        
                        admin:
                            module_name: admin
                        
                        mqtt:
                            module_name: mqtt
                            broker_host: 192.168.1.2
                            broker_port: 1883
                            broker_monitoring: true
                            birth_topic: Smarthome_birth_topic
                            birth_payload: Smarthome_ist_gebohren
                            qos: 1
                            bool_values: ''
                        Wenn man das bool_values: '' aus der etc.yaml löscht neu startet dann funktioniert alles wie gewünscht.

                        So jetzt noch mal bitte zu meiner Frage:

                        Wie gibt man das in das Feld bool_values: richtig ein? Wenn ich es so eingebe:
                        Anmerkung 2020-05-29 102312.png


                        Habe einmal "true" geschalten dann kommt garnix im Broker an. (Aktualisieren hab ich gedrückt)
                        Hier würde ich jetzt aber "Wahr" erwarten.
                        Anmerkung 2020-05-29 103316.png



                        Dann habe ich "false" geschalten:
                        Dann kommt beim Broker als payload:

                        '['Falsch','Wahr']'

                        und der Raw wert: 3991397097108115991043944398797104114399339

                        Anmerkung 2020-05-29 103842.png
                        hier würde ich aber nur ein "Falsch" als Payload erwarten.

                        Verstehe ich da was falsch?

                        Danke für deine Geduld und Hilfe.

                        Gruß Danny



                        Kommentar


                          Zitat von danny Beitrag anzeigen
                          Wie gibt man das in das Feld bool_values: richtig ein? Wenn ich es so eingebe:
                          Anmerkung 2020-05-29 102312.png
                          Wenn Du es so eingibst, erwartest Du dass der IOBroker nicht false und true sendet, sondern die Werte Falsch und Wahr. Normalerweise sollte der Wert leer bleiben, es sei denn, Du hast einen MQTT Device, welches andere Werte als false und true sendet (z.b: EIN/AUS, WAHR, FALSCH, ON/OFF, ...), die Du aber in ein Bool-Item einlesen möchtest.
                          Viele Grüße
                          Martin

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

                          Kommentar

                          Lädt...
                          X