Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues MQTT Plugin

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

    Kannst benennen wie du willst. Ich mach das nach der Hierarchie der Items, zB duw/status/temperatur

    Kommentar


      Zur shng Steuerung vom esp32 nutze ich das mqtt plugin. Bei items mit dem Datentyp: num und bool funktioniert das auch sehr gut.
      Verwende ich es f. Szenen, werden alle integer Werte als false interpretiert. Offensichtlich wird der Datentyp f. Szenen nicht richtig interpretiert.

      Jetzt habe ich gesehen, dass für Szenen das
      Code:
      subscribe_topic()
      verwendet werden kann.

      1. muss ich das dafür nutzen?
      2. kann ich das auch in item Definitionen nutzen?
      Oder was mache ich falsch?

      item mit Scenen Definition
      Code:
      # Wohnung.OG.Hobby.PCRGBWScene
      Hobby:
         PCRGBWScene:
            name: PC RGBW
            type: scene
            knx_dpt: 5
            knx_listen: 11/0/6
            knx_send: 11/0/6
            mqtt_topic_in: Hobby/RGBPC
            mqtt_topic_out: Hobby/RGBPC
      Schon mal vielen Dank für Eure Hilfe!
      Andreas

      Kommentar


        Ich habe den Zugriff auf die KNX Szenen mit einem Hilfs-item umgesetzt.

        Code:
        # Wohnung.OG.Hobby.PCRGBWScene
        Hobby:
           PCRGBWScene:
           name: PC RGBW
           type: scene
           knx_dpt: 5
           knx_listen: 11/0/6
           knx_send: 11/0/6
           mqtt_in:
              type: num
              mqtt_topic_in: Hobby/RGBPC/in
              on_change: .. = value
           mqtt_out:
              type: num
              mqtt_topic_out: Hobby/RGBPC/out
              eval_trigger: ..
              eval: sh...()

        Kommentar


          siehe hier
          Zuletzt geändert von Sisamiwe; 16.03.2021, 07:14. Grund: Beitrag im richtigen Thread erstellt

          Kommentar


            Ist das der richtige Thread?

            Kommentar


              Zitat von Onkelandy Beitrag anzeigen
              Ist das der richtige Thread?
              Natürlich nicht.

              Kannst Du es in den Tasmota Support Thread verschieben?
              DANKE

              Kommentar


                leider nicht

                Kommentar


                  Hallo,

                  ich suche nach einer Möglichkeit ein topic ohne payload zu publishen. (Das löste bei dem Device das publishen eines Statusmeldung aus)
                  So wie ich den die Doku bzw Code verstehe, ist das nicht implemtiert. Ist das richtig?

                  Danke für die Rückmeldung.

                  Kommentar


                    Hallo,

                    ich bin gerade dabei mein System von 1.6.1 auf die 1.8.1 umzubauen.
                    Zur Zeit nutze ich zwei MQTT Broker. Einen lokalen und den von TTN für Loran.
                    Beim MQTT plugin habe ich das mit verschiedenen Instanzen gemacht.

                    mqtt_topic_in@ttn: '/...'
                    mqtt_topic_in@local: '/...'

                    Wie ist das beim MQTT Modul? Gibt es da noch eine Multiinstanz Möglichkeit?

                    Im Quelltext des Moduls habe ich nur diesen. Hinweis gefunden:
                    PHP-Code:

                    # ONLY used for multiinstance handling of plugins?
                    # # needed because self.set_attr_value() can only set but not add attributes
                    # self.at_instance_name = self.get_instance_name()
                    # if self.at_instance_name != '':
                    # self.at_instance_name = '@' + self.at_instance_name 

                    Kommentar


                      Das Modul ersetzt ja nicht das Plugin, sondern zentralisiert nur das MQTT Handling, damit mehrere Plugins (mqtt, shelly, tasmota) das eigentliche MQTT Protokoll nutzen können. Da MQTT Devices normalerweise nur mit einem MQTT Broker sprechen (können), ist das auch im MQTT Modul entsprechende implementiert. Normalerweise konfiguriert man bei Einsatz mehrerer Broker die Broker so, dass sie sich miteinander verbinden und bei Bedarf die MQTT Messages an den anderen Broker weiter geben.


                      Wenn Du bisher mehrere Instanzen des mqtt Plugins konfiguriert hast und die Broker nicht so konfigurieren willst, dass sie sich miteinander unterhalten, kannst Du auch wie bisher die alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) mit mehreren Instanzen nutzen, und auf den Einsatz des MMQTT Moduls verzichten. Das alte mqtt Plugin wird jedoch nicht mehr weiter entwickelt. Es wird dort also auch in Zukunft keine Unterstützung für die MQTT Protokoll Version 5 geben.

                      Viele Grüße
                      Martin

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

                      Kommentar


                        Danke für die schnelle Antwort, dann weiß ich wo ich jetzt suchen muss ;-)

                        Kommentar


                          Ich nutze das sehr häufig: zigbee2mqtt, vlx2mqtt, octoprint, Loran, EMS-ESP, Miflora, etc.
                          Wenn ich das richtig verstehe, bräuchte man jetzt jeweils eigene Plugins die dann das MQTT Modul nutzen....
                          Die Zentralisierung des MQTT Handlings kann ich verstehen. Es ist nur schade das das sehr generische und flexible MQTT Plugin entfallen soll.

                          Kommentar


                            Nein wieso?

                            Du bräuchtest nur mehrere Instanzen wenn Du mehrere Broker einsetzt, was nur in extrem umfangreichen Installationen (hunderte bis tausende von MQTT Devices, Verteilung über WAN Verbindungen, …) sinnvoll ist. Wozu willst Du denn mehrer Broker nutzen? Für die von Dir beschriebenen Komponenten brauchst Du erstmal nur einem Broker.
                            Viele Grüße
                            Martin

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

                            Kommentar


                              Habe ich wohl ungeschickt zu viele Informationen verwurschtelt. Sind zwei getrennte Topics...

                              - Anzahl der Broker ist (jetzt) klar. Ich nutze einen externen Broker (eu.thethings.network) für LoraWAN. War schnell mit Multiinstanz eingerichtet und die Doku für die MQTT Bridge war vor 2-3 Jahren nicht so ergiebig. Habe eine Beispiel für die mosquitto.conf gefunden und muss es nur mal testen. --> geklärt


                              - Mir war/ist nicht ganz klar was Du mit " ... alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) ..." meinst.
                              Ich nutze gerade die Version 1.8.2. Wenn ich das richtige verstehe oder die Fehlermeldung richtig deute nutzt das MQTT Plugin das neue MQTT Modul.
                              Zumindest startet das Plugin ohne das aktive Modul nicht. Meine Config habe ich mal angehängt.

                              Um die MQTT Topics IN/OUT mit einem Item zu verknüpfen braucht es eine eigenes Plugin (Tasmota, etc.) oder das MQTT plugin.
                              Ich nutze zur Zeit nur das MQTT Plugin. Wenn das wegfallen würde (weil 'deprecated') müsste ich mr dafür was einfallen lassen.



                              HTML-Code:
                              SmartHomeNG Version:              1.8.2.master (0f462a1e)   in   /usr/local/smarthome           (heads/master)
                              SmartHomeNG Plugins Version: 1.8.2.master (9afce4cd)   in   /usr/local/smarthome/plugins           (tags/v1.8.2)

                              HTML-Code:
                              %YAML 1.1
                              ---
                              # etc/module.yaml
                              http:
                                   module_name: http
                                   starturl: admin
                              
                              admin:
                                   module_name: admin
                              
                              websocket:
                                   module_name: websocket
                                   # ip: 0.0.0.0
                                   # port: 2424
                                   # tls_port: 2425
                                   # use_tls: True
                                   # tls_cert: shng.cer
                                   # tls_key: shng.key
                              
                              mqtt:
                                   module_name: mqtt
                                   broker_monitoring: true
                              plugin.yaml
                              HTML-Code:
                              ...
                              mqtt_local:
                                  plugin_name: mqtt
                                  broker_monitoring: true
                              ...
                              HTML-Code:
                              Mqtt:
                                  miflora:
                                    Schlafzimmer:
                                       type: dict
                                       mqtt_topic_in: 'miflora/Schlafzimmer'
                                       visu_acl: ro
                                       webservices_set:
                                           - miflora
                                           - knxweb
                                       webservices_data: full
                                       on_change:
                                          - .moisture = value['moisture']
                                          - .light = value['light']
                                          - .temperatur = value['temperature']
                                          - .battery = value['battery']
                                          - .conductivity = value['conductivity']
                              
                              
                                       moisture:
                                           type: num
                                           database@mysqldb: init
                                           enforce_updates : true
                              
                                       ....

                              Kommentar


                                Zitat von jaykay Beitrag anzeigen
                                Mir war/ist nicht ganz klar was Du mit " ... alte Version des mqtt Plugins (die als 'deprecated' gekennzeichnet ist) ..
                                Sorry für die Verwirrung. Die alte Version des Plugins (aus SmartHomeNG v1.6.x) war in SmartHomeNG als mqtt1 enthalten und als deprecated gekennzeichnet. Ich hatte nicht daran gedacht, dass mqtt1 in SmartHomeNG v1.8 retired wurde. Um das zu nutzen, müsstest Du das mqtt1 Plugin aus SmartHomeNG v1.7.2 nehmen. Das alte Plugin hatte den MQTT Stack im Plugin, so dass mehrere Broker konfiguriert werden konnten (einer je Instance). Das ist aber nicht notwendig, es sei denn Du musst mehrere Broker ansprechen.

                                Es reicht, wenn Du das das MQTT Modul konfigurierst und das aktuelle mqtt Plugin nimmst und (wie bei Dir in v1.6) davon mehrere Instances konfigurierst.
                                Zuletzt geändert von Msinn; 29.06.2021, 20:59.
                                Viele Grüße
                                Martin

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

                                Kommentar

                                Lädt...
                                X