Autor Thema: MQTT  (Gelesen 35980 mal)

Offline killer007

  • Newbie
  • Beiträge: 2
Antw:MQTT
« Antwort #180 am: 30 November 2017, 22:20:25 »
Hallo,

Ist es eigentlich möglich auch Funkionen die in der MyUtil sind mit subscribeSet aufzurufen?

Mit:
attr mqtt_bridge subscribeSet_cmd {calcValues($device, $message);; 0} topic/cmdoder so ähnlich?

Im Log taucht immer was mit
ERROR evaluating { calcValues($device, $message); 0}: Undefined subroutine &MQTT::BRIDGE::calcValues called at (eval 10898) line 1.auf..

Beste Grüsse

Offline hexenmeister

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4072
    • tech_LogBuch
Antw:MQTT
« Antwort #181 am: 01 Dezember 2017, 00:06:36 »
Das Modul verwendet ein package "MQTT::BRIDGE" und dort ist deine Methode unbekannt. Versuche sie explizit anzugeben, das sollte funktionieren:
attr mqtt_bridge subscribeSet_cmd {main::calcValues($device, $message);; 0} topic/cmdMuss mir anschauen, vlt. stlle ich einen Patch zusammen, damit der Aufruf von externen Funktionen außerhalb von einem package-Namespace passiert.
In Verwendung: HM, EnOcean, 1wire, Firmata, MySensors, ESPEasy, MQTT*, NodeRED, Alexa, Telegram,..
Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy
Kaffeekasse: https://www.paypal.me/s6z

Offline killer007

  • Newbie
  • Beiträge: 2
Antw:MQTT
« Antwort #182 am: 01 Dezember 2017, 17:56:57 »
Danke
Genau das "main::" hat mir gefehlt!

Jetzt funktioniert es.

Würde die Info in die Commandref aufnehmen, das sollte reichen....

Grüsse

Gesendet von meinem Apollo Lite mit Tapatalk

« Letzte Änderung: 01 Dezember 2017, 17:58:38 von killer007 »

Online freakadings

  • Jr. Member
  • **
  • Beiträge: 50
Antw:MQTT
« Antwort #183 am: 12 Januar 2018, 14:27:39 »
Hallo Leute um einen Doppelpost zu vermeiden der Link zu meinem Mqtt Problem:

https://forum.fhem.de/index.php/topic,73242.msg746780.html#msg746780

Kurzfassung:
Fhem connected und disconnected mehrfach pro Sekunde zum MQTT Broker, der auf dem gleichen system (pi2) ohne Probleme läuft...

An Mqtt hängt bei mir wirklich viel, es wäre super wenn mir jemand helfen könnte :)

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2749
    • Homepage
Antw:MQTT
« Antwort #184 am: 04 Februar 2018, 11:45:36 »
Hallo,

Ich benötige mal Hilfe, ich schreibe in den Topic "SENSOR/FEUCHTIGKEIT/01" einen Wert. Mit einer Handy App kann ich das abfragen. Ich bekomme es aber nicht mit FHEM hin. Es wird kein Reading angelegt. Das einzige was ich habe ist:
transmission-state subscription acknowledged 2018-02-03 23:55:43

Ich habe schon mit autoSubscribeReadings und subscribeReading rumgespielt aber ich bekomme es nicht hin. Also ich verstehe es auch gar nicht was ich nun machen muss. Die Hilfe ist da auch nicht besonders hilfreich, zumindest hatte ich es so wie da angegeben probiert.

Hat da mal jemand ein Tip für mich was ich hier falsch mache.

/Daniel
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1563
Antw:MQTT
« Antwort #185 am: 04 Februar 2018, 12:17:39 »
versuche es doch mal in lege dir selbst ein Reading an:

attr (dein_DeviceName) subscribeReading_SENSOR SENSOR/FEUCHTIGKEIT/01dann solltest du ein Reading "SENSOR" haben wo der MQTT String/Wert drinnen steht.

Es kommt dann drauf an in welchem Format du den MQTT String überträgst, entweder Legacy oder Json und musst es entsprechend filtern.

LGReinhart
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2749
    • Homepage
Antw:MQTT
« Antwort #186 am: 04 Februar 2018, 12:49:54 »
Ich bin einfach zu blöde glaube ich, es möchte nicht klappen (ist nur ein wert, kein json):

Internals:
   CFGFN     
   DEF       
   IODev      MQTT_Broker
   NAME       PSM_Sense
   NR         15744
   STATE      unsubscription acknowledged
   TYPE       MQTT_DEVICE
   READINGS:
     2018-02-04 12:36:31   transmission-state unsubscription acknowledged
   message_ids:
   sets:
   subscribe:
     Sensor/Feuchtigkeit
   subscribeExpr:
     ^Sensor\/Feuchtigkeit$
   subscribeReadings:
     Sensor/Feuchtigkeit:
       cmd       
       name       Humidity
     Sensor/Feuchtigkeit/01:
       cmd       
       name       Humidity
Attributes:
   IODev      MQTT_Broker
   room       X_Test
   stateFormat transmission-state
   subscribeReading_Humidity Sensor/Feuchtigkeit/01
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1563
Antw:MQTT
« Antwort #187 am: 04 Februar 2018, 14:31:17 »
Du musst aber unbedingt die Groß/Kleinschreibung der Topic beachten!
wenn du am Broker in der Konsole mitlauscht, wie sieht den der gewünschte MQTT String aus?

mosquitto_sub -d -v -t \#
Ich sehe mir immer den String an und kopiere die gewünschte Topic dann raus wenn ich unsicher bin.

LG
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2749
    • Homepage
Antw:MQTT
« Antwort #188 am: 04 Februar 2018, 15:26:03 »
Sollte alles stimmen:

Subscribed (mid: 1): 0
Received PUBLISH (d0, q0, r1, m0, 'Sensor/Feuchtigkeit/01', ... (3 bytes))
Sensor/Feuchtigkeit/01 296
Received PUBLISH (d0, q0, r0, m0, 'Sensor/Feuchtigkeit/01', ... (3 bytes))
Sensor/Feuchtigkeit/01 296
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1563
Antw:MQTT
« Antwort #189 am: 04 Februar 2018, 16:03:40 »
ja, dann muss es so heißen:

define myBroker MQTT 127.0.0.1:1883

define (dein_DeviceName) MQTT_DEVICE
attr (dein_DeviceName) IODev myBroker
attr (dein_DeviceName) subscribeReading_SENSOR Sensor/Feuchtigkeit/01
du hattest es ursprünglich Groß geschrieben.

Broker und FHEM läuft am selben Device?

LG
« Letzte Änderung: 04 Februar 2018, 16:12:43 von Reinhart »
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2749
    • Homepage
Antw:MQTT
« Antwort #190 am: 04 Februar 2018, 16:12:15 »
Ja, das passt aber alles, habe ich richtig. Hatte das nur groß geschrieben damit es sich absetzt ...

Mhh aber komisch, es will einfach nicht. Vielleicht sollte ich das Device nochmal löschen.

/Daniel
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1563
Antw:MQTT
« Antwort #191 am: 04 Februar 2018, 16:16:15 »
ja sollte alles passen, ich poste dir hier einmal einen typischen Device von mir, dann kannst du vergleichen. Hier sind zwar mehr Daten enthalten und die kommen im Json Format, das sollte aber egal sein.
Eventuell Broker und FHEM neu starten versuchen.

Internals:
   IODev      myBroker
   NAME       Sonoff_electrodragon2
   NR         424
   STATE      Temperatur: 6.0 Grad Feuchte: 58.0  Lux: 0
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       BH1750_Illuminance:
         myDbLog:
           TIME       1517756780.00948
           VALUE      0
       DHT11_Humidity:
         myDbLog:
           TIME       1517756780.00948
           VALUE      58
       DHT11_Temperature:
         myDbLog:
           TIME       1517756780.00948
           VALUE      6
       Sensor:
         myDbLog:
           TIME       1517756779.95076
           VALUE      {"Time":"2018-02-04T16:06:20", "DHT11":{"Temperature":6.0, "Humidity":58.0}, "BH1750":{"Illuminance":0}, "TempUnit":"C"}
       TempUnit:
         myDbLog:
           TIME       1517756780.00948
           VALUE      C
       Time:
         myDbLog:
           TIME       1517756780.00948
           VALUE      2018-02-04T16:06:20
       transmission-state:
         myDbLog:
           TIME       1517756779.90672
           VALUE      incoming publish received
   READINGS:
     2018-02-04 16:06:19   BH1750_Illuminance 0
     2018-02-04 16:06:19   DHT11_Humidity  58
     2018-02-04 16:06:19   DHT11_Temperature 6
     2018-02-04 16:06:19   Sensor          {"Time":"2018-02-04T16:06:20", "DHT11":{"Temperature":6.0, "Humidity":58.0}, "BH1750":{"Illuminance":0}, "TempUnit":"C"}
     2018-02-04 16:06:19   TempUnit        C
     2018-02-04 16:06:19   Time            2018-02-04T16:06:20
     2018-02-04 16:06:19   transmission-state incoming publish received
   message_ids:
   sets:
   subscribe:
     tele/sonoff_electrodragon2/SENSOR
   subscribeExpr:
     ^tele\/sonoff_electrodragon2\/SENSOR$
   subscribeReadings:
     tele/sonoff_electrodragon2/SENSOR:
       cmd       
       name       Sensor
Attributes:
   IODev      myBroker
   alias      Garage Tempsensor
   group      Garage
   icon       temperature_humidity
   room       _Garage
   stateFormat {sprintf("Temperatur: %.1f Grad Feuchte: %.1f  Lux: %.0f", ReadingsVal($name,"DHT11_Temperature",0), ReadingsVal($name,"DHT11_Humidity",0), ReadingsVal($name,"BH1750_Illuminance",0))}
   subscribeReading_Sensor tele/sonoff_electrodragon2/SENSOR

LG
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline ext23

  • Hero Member
  • *****
  • Beiträge: 2749
    • Homepage
Antw:MQTT
« Antwort #192 am: 04 Februar 2018, 16:22:30 »
OK, das MQTT Modul scheint wohl noch etwas unsauber zu sein, neu anlegen hat geholfen.

Wenn man ein MQTT_Device anlegt fliegt man ja auch erst mal zurück in die Übersicht mit einer "0" anstelle man das Device gleich sieht. Also da ist noch der ein oder andere Bug drin ;-)

/Daniel
HM, FS20, 1-Wire, PanStamp, AVR-NET-IO, SIS-PM, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

Offline Tobias

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3565
Antw:MQTT
« Antwort #193 am: 12 Februar 2018, 08:25:27 »
Das kenne ich auch, hatte mich mal auch nerven gekostet.
Wenn man ein reading, subscription oder publish ändern möchte MUSS man es löschen und neu anlegen damit es funktioniert.

Gesendet von meinem Leap mit Tapatalk
FHEM auf ASRock J3455-ITX im 19" Rack mit Homematic, MAX, PCA301, Panstamp-Sensoren, RPi mit 2x 1wire, RPi mit Text2Speech.
Maintainer der Module: DbLog, Text2Speech, TrashCal, MediaList
Meine Projekte auf https://github.com/tobiasfaust

Offline TomHB

  • New Member
  • *
  • Beiträge: 10
Antw:MQTT
« Antwort #194 am: 10 Juni 2018, 11:32:17 »
Hallo Forum!

Ich versuche mich gerade an dem Thema MQTT und habe lokal einen Mosquitto-Server mit Benutzer/Kennwort inkl. TLS/SSL-Verschlüsselung hochgezogen.
https://www.auxnet.de/verschluesseltes-mqtt-vom-und-zum-mosquitto-server/ mit guter Beschreibung...

Nun kommt aber der Teil, das ganze FHEM einzubinden - es gelingt mir net.
Als ich das TLS noch nicht aktiv hatte, konnte sich ein FHEM MQTT_Broker verbinden - nu nicht mehr.

Hat FHEM ein Zertifikatsspeicher, in dem man das Zertifikat vom Mosquitto-Server importieren kann/muss?
Oder, ich habe das in einigen recht alten Beträgen gelesen, das diese Funktionalität  (noch) nicht implementiert ist?


MfG

 

decade-submarginal