Einbindung von Sonoff Tasmota funktioniert nicht

Begonnen von jogibär, 16 April 2019, 17:08:40

Vorheriges Thema - Nächstes Thema

jogibär

Hallo,
ich bin hier am verzweifeln. Ich habe nun schon mindestens 4 Anläufe gemacht um meine Sonoffs in FHEM anzubinden. Ich scheitere aber kläglich. Wenn ich das nicht bald hinbekomme trage ich mich mit dem Gedanken zum IOBroker zu wechseln. Ein Kollege hat gemeint, das wäre da total easy. Aber das hatte ich über die Anbindung in FHEM auch gelesen.  :-\
Ich habe zwei Sonoff Basic in Betrieb. AquariumPumpe 6.4.1 deutsch und AquariumLicht 6.5.0. Beide lassen sich über das WLAN und die Tasmota-Oberfläche schalten.
Auf FHEM habe ich Mosquitto eingebunden.
Ich habe erstmal versucht die Geräte direkt einzubinden. Fehlschlag.

Dann habe ich mir die Module aus https://www.youtube.com/watch?v=5lQGDs0zQ4M Sonoff Teil 9 installiert und laut Video versucht einzubinden. Fehlschlag.

Nun habe ich versucht das mit MQTT2_Client zu machen. Da bekomme ich zwar irgendwie Geräte, schalten tut aber nix.
Ich habe erst versucht einen Basic mit define Aquariumpumpe MQTT2_DEVICE %prefix%/%topic%/
einzubinden. In FHEM kann ich zwar schalten, das Gerät macht aber nix.
Vermutlich per autocreate ist dann ein Gerät als MQTT2_device aufgetaucht. In FHEM kann ich zwar auch wieder schalten, das Gerät macht aber nix. Außerdem weiß ich auch nicht welches Gerät das ist. Wie kann ich herausfinden, ob das Licht angelegt wurde oder ob ich nun zwei mal die Pumpe habe?
Ich habe gefühlt jedes youtubevideo angesehen und alle Anleitungen gelesen. Ich komme nicht weiter.  :'(


Beta-User

Zitat von: jogibär am 16 April 2019, 17:08:40
Ich habe gefühlt jedes youtubevideo angesehen und alle Anleitungen gelesen. Ich komme nicht weiter.  :'(
"Jedes youtube-Video" bringt dich vermutlich nirgends hin: https://wiki.fhem.de/wiki/Dokumentationsstruktur

Welche Anleitung hast du konkret befolgt?
Wichtig sind (hier) nur zwei:
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele
https://wiki.fhem.de/wiki/MQTT2_CLIENT
Wichtig ist v.a. das Stichwort "A_00_MQTT2_CLIENT_general_bridge"

Bitte verlinke zukünftig auf das, was du angeblich gelesen hast, nur dann kann man es verbessern...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gisbert

Hallo jogibär,

zum Verzweifeln gibt es keinen Grund.
Die Sonoffs sind i.d.R. sehr solide, Tasmota hat eine gute Funktionalität und in Fhem findest du zu jedem Problem Hilfestellung. Eine Voraussetzung ist jedoch eine gute Beschreibung des Problems inkl. Definitionen, logfiles, etc.

Ich nutze das Modul MQTT_DEVICE in Fhem, welches die Installation eines MQTT Brokers, z.B. Mosquitto auf deinem Fhem-Server voraussetzt. Ich gehe davon aus, dass du das Prinzip von Publishen und Subskribieren bei MQTT verstanden hast.

Es gibt neuere Module, die dem User etwas Arbeit abnehmen sollen, ich komme aber sehr gut mit obigem Modul zurecht, weshalb ich dabei bleibe.

Zum Überprüfen, was deine Sonfoffs senden, kannst du z.B. auf deinem Handy die App myMQTT nutzen. Damit überprüfe ich, ob das, was z.B. ein Sonoff senden soll auch bei einem Empfänger ankommt. Wenn nichts ankommt, dann stimmt schon etwas nicht. Die Ursache liegt nicht an der Software, sondern am User, glaube mir, ich weiß, wovon ich rede.

In Tasmota hast du einen MQTT-User und Passwort definiert. Hast du dieses auch im MQTT-Broker definiert? Wahrscheinlich eher nicht, denn in Tasmota stehen die default-Werte drin. Das könnte schon ein Grund für die fehlende Verbindung sein.

Youtube-Videos können als Anregung helfen, mehr aber auch nicht.

Gerne helfe ich dir auf dem Weg deine Sonoffs in Fhem einzubinden, wenn du bereit bist mitzuarbeiten und etwas Geduld und Zeit aufbringst.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

andies

Nicht verzweifeln. Die Videos sind berüchtigt, weil dort ohne erkennbaren Grund (und, leider, auch teilweise ohne Sachkenntnis) zentrale Einstellungen in tasmota verändert werden. Danach sucht man sich einen Wolf, wo der Fehler ist. Zum Beispiel ändert der Videoersteller den Pfad von MQTT und man wundert sich, warum nichts geht.

Also lass bitte die Videos sein und lies die oben genannten Links. Du hast geflasht, erfolgreich? Kommst du auf die Weboberfläche? Sonst zurück auf Grundeinstellungen und von da aus los.


Gesendet von iPad mit Tapatalk Pro
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

jogibär

#4
ZitatGerne helfe ich dir auf dem Weg deine Sonoffs in Fhem einzubinden, wenn du bereit bist mitzuarbeiten und etwas Geduld und Zeit aufbringst.
Das wäre extrem nett von Dir und natürlich auch den anderen Helfern, die schon geantwortet haben.  8)

ZitatDu hast geflasht, erfolgreich? Kommst du auf die Weboberfläche?
Ja habe ich. Mit sonoff.bin mit easyesp geflasht und dann update over the air. Der eine auf 6.4.1 der andere auf 6.5.0 sonoffDE.bin (Der 6.4.1 lässt sich nicht auf 6.5.0 updaten. Fehlermeldung:"Upload-buffer-Vergleich weicht ab"
Schalten über WLAN funktioniert aus der Oberfläche im Browser. Auch Zeiteinstellungen usw.
(Bilder der MQTT-Einstellungen habe ich an den ersten Post gehängt.)

ZitatIch nutze das Modul MQTT_DEVICE in Fhem, welches die Installation eines MQTT Brokers, z.B. Mosquitto auf deinem Fhem-Server voraussetzt.
Mosquitto ist installiert.

Mit Putty habe ich folgenden Test gemacht:
Ein erster Test kann über die Kommadozeile durchgeführt werden. Dazu öffnet man zwei PuTTY-Fenster und meldet sich jeweil mit dem Benutzer 'pi' an.

Das erste Fenster dient der Anzeige von MQTT-Topics. Mit 127.0.0.1 ist immer der Localhost gemeint. Wir geben den Befehl für eine Topic-Subscription ein:
mosquitto_sub -h 127.0.0.1 -t meinTopic/#

Das zweite Fenster dient dazu, Topics mit Nachrichten abzusetzen:
mosquitto_pub -h 127.0.0.1 -t meinTopic/Temp -m "23.7"

Jetzt sollte im 1. Fenster "23.7" zu sehen sein. Das wäre testweise die Temperatur eines Thermostats gewesen.
mosquitto_pub -h 127.0.0.1 -t meinTopic/Temp -m "31.2"

Jetzt sollte im linken Fenster '31.2' angezeigt werden. Damit funktioniert 'Mosquitto' und kann für OpenHAB und FHEM bzw. eigene Sensoren verwendet werden.


Nachdem ich damit nicht weiterkam habe ich mit MQTT2_device versucht weiterzukommen.
define MQTT_via_mosquitto MQTT2_CLIENT 127.0.0.1:1883
attr MQTT_via_mosquitto room MQTT2_DEVICE,System


Jetzt habe ich in FHEM einen Eintrag MQTT2 Client und einen MQTT Device. Dazu auch ein Screenshot am ersten Post.

lies die oben genannten Links.
Die habe ich gelesen. Leider aber nicht wirklich kapiert, wie das umzusetzen ist. Daher bin ich auf Videos und Anleitungen angewiesen  :'(

ZitatZum Überprüfen, was deine Sonfoffs senden, kannst du z.B. auf deinem Handy die App myMQTT nutzen.
Die App habe ich installiert. Ich komme aber nicht damit klar. Ich habe bei den Settings erstmal die IP meines Rapberrys eingetragen. Port auf 1883.
Muss ich als Benutzer "DVES_USER" aus dem Sonoff eintragen?
Bei Subscribe habe ich dann das Topic aus dem Sonoff "%prefix%/%topic%/" eingetragen. Ich benkomme keine Reaktion der App.



Beta-User

Ganz einfach: Wende auf das Device MQTT2_MQTTviamosquitto das bereits genannte template (A_00_MQTT2_CLIENT_general_bridge) an...

Dann schalte mal die Devices über deren Web-IF und staune. Was ist an dem MQTT2_CLIENT-Artikel denn so schwer zu verstehen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jogibär

LOG von FHEM
2019.04.17 13:06:45.686 0: Server shutdown
2019.04.17 13:06:45.699 1: Shutdown executed
2019.04.17 13:06:48.511 1: Including fhem.cfg
2019.04.17 13:06:48.602 3: telnetPort: port 7072 opened
2019.04.17 13:06:49.239 3: WEB: port 8083 opened
2019.04.17 13:06:49.246 3: WEBphone: port 8084 opened
2019.04.17 13:06:49.275 3: WEBtablet: port 8085 opened
2019.04.17 13:06:49.644 2: eventTypes: loaded 2094 events from ./log/eventTypes.txt
2019.04.17 13:06:49.747 3: Opening ZWDongle_0 device /dev/ttyACM0
2019.04.17 13:06:49.833 3: Setting ZWDongle_0 serial parameters to 115200,8,N,1
2019.04.17 13:06:50.928 3: ZWDongle_0 device opened
2019.04.17 13:06:51.176 3: ZWave: cannot load Crypt::Rijndael, SECURITY class disabled
2019.04.17 13:06:52.248 1: HMLAN_Parse: HMLAN1 new condition disconnected
2019.04.17 13:06:52.250 3: Opening HMLAN1 device 127.0.0.1:1234
2019.04.17 13:06:52.264 1: HMLAN_Parse: HMLAN1 new condition init
2019.04.17 13:06:52.266 3: HMLAN1 device opened
2019.04.17 13:06:54.088 1: Including ./log/fhem.save
2019.04.17 13:06:54.756 3: Opening MQTTBroker device 127.0.0.1:1883
2019.04.17 13:06:54.776 3: MQTTBroker device opened
2019.04.17 13:06:54.791 1: usb create starting
2019.04.17 13:06:55.286 3: Probing CUL device /dev/ttyAMA0
2019.04.17 13:06:55.496 3: Probing TCM_ESP3 device /dev/ttyAMA0
2019.04.17 13:06:55.704 3: Probing ZWDongle device /dev/ttyAMA0
2019.04.17 13:06:55.912 3: Probing SIGNALDuino device /dev/ttyAMA0
2019.04.17 13:06:56.121 3: Probing MYSENSORS device /dev/ttyAMA0
2019.04.17 13:06:56.331 3: Probing ArduCounter device /dev/ttyAMA0
2019.04.17 13:06:56.540 3: Probing FRM device /dev/ttyAMA0
2019.04.17 13:07:01.805 1: usb create end
2019.04.17 13:07:01.810 0: Featurelevel: 5.9
2019.04.17 13:07:01.811 0: Server started with 90 defined entities (fhem.pl:19085/2019-04-01 perl:5.014002 os:linux user:fhem pid:4245)
2019.04.17 13:07:01.834 3: Opening MQTT_via_mosquitto device 127.0.0.1:1883
2019.04.17 13:07:01.857 2: ZWDongle_ProcessSendStack: no ACK, resending message 0107000301020100f9
2019.04.17 13:07:01.896 3: CUL_HM set Eingang statusRequest
2019.04.17 13:07:01.927 1: HMLAN_Parse: HMLAN1 new condition ok
2019.04.17 13:07:01.948 3: MQTT_via_mosquitto device opened
2019.04.17 13:07:02.358 3: RLP_Ferien.notify return value: SCALAR(0x2a36808)
2019.04.17 13:07:03.405 3: RLP_Ferien.notify return value: SCALAR(0x2a4f238)
2019.04.17 13:07:03.419 3: RLP_Ferien.notify return value: SCALAR(0x2a4f9e8)
2019.04.17 13:07:03.426 3: RLP_Ferien.notify return value: SCALAR(0x2a4f5c8)
2019.04.17 13:07:03.436 3: RLP_Ferien.notify return value: SCALAR(0x2a4fc00)
2019.04.17 13:07:03.443 3: RLP_Ferien.notify return value: SCALAR(0x2a4f9a0)
2019.04.17 13:07:03.452 3: RLP_Ferien.notify return value: SCALAR(0x2a4edd0)
2019.04.17 13:17:50.770 2: AttrTemplates: got 80 entries
2019.04.17 13:18:02.891 3: ZWave got config for fibaro/fgd211.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2019.04.17 13:18:05.712 3: ZWave got config for fibaro/fgd212.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2019.04.17 13:18:08.380 3: ZWave got config for fibaro/fgrm222.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2019.04.17 13:18:11.027 3: ZWave got config for fibaro/fgs222.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2019.04.17 13:18:13.841 3: ZWave got config for fibaro/fgsd002.xml from ./FHEM/lib/openzwave_deviceconfig.xml.gz
2019.04.17 13:25:44.166 2: autocreate: define MQTT2_DEVNAME MQTT2_DEVICE DEVNAME
2019.04.17 13:25:44.172 2: autocreate: define FileLog_MQTT2_DEVNAME FileLog ./log/MQTT2_DEVNAME-%Y.log MQTT2_DEVNAME


Und aus dem Event-Monitor:
2019-04-17 13:08:32.307 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:08:54.798 MQTT MQTTBroker connection: active
2019-04-17 13:08:57.334 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:09:22.329 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:09:47.356 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:09:54.805 MQTT MQTTBroker connection: active
2019-04-17 13:10:12.384 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:10:37.379 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:10:54.812 MQTT MQTTBroker connection: active
2019-04-17 13:11:02.374 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:11:27.401 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:11:52.397 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:11:54.814 MQTT MQTTBroker connection: active
2019-04-17 13:12:17.424 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:12:42.419 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:12:54.821 MQTT MQTTBroker connection: active
2019-04-17 13:13:07.447 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:13:32.442 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:13:54.823 MQTT MQTTBroker connection: active
2019-04-17 13:13:57.438 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:14:22.465 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:14:47.492 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:14:54.830 MQTT MQTTBroker connection: active
2019-04-17 13:15:12.488 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:15:37.515 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:15:54.837 MQTT MQTTBroker connection: active
2019-04-17 13:16:02.510 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:16:27.537 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:16:52.532 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:16:54.840 MQTT MQTTBroker connection: active
2019-04-17 13:17:17.560 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:17:42.555 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:17:53.229 MQTT2_DEVICE MQTT2_MQTTviamosquitto set_on
2019-04-17 13:17:54.450 MQTT2_DEVICE MQTT2_MQTTviamosquitto set_off
2019-04-17 13:17:54.843 MQTT MQTTBroker connection: active
2019-04-17 13:17:56.364 MQTT2_DEVICE MQTT2_MQTTviamosquitto set_on
2019-04-17 13:17:58.227 MQTT2_DEVICE MQTT2_MQTTviamosquitto set_off
2019-04-17 13:18:14.681 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:18:39.048 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:18:45.431 Global global DELETEATTR AquariumPumpe readingList
#FHEMWEB:WEB_192.168.178.40_1907<2019-04-17 13:18:54.854 MQTT MQTTBroker connection: active
2019-04-17 13:19:04.076 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:19:10.990 MQTT2_DEVICE AquariumPumpe set_on
2019-04-17 13:19:12.709 MQTT2_DEVICE AquariumPumpe set_off
2019-04-17 13:19:14.323 MQTT2_DEVICE AquariumPumpe set_on
2019-04-17 13:19:15.428 MQTT2_DEVICE AquariumPumpe set_off
2019-04-17 13:19:29.066 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:19:54.067 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:19:54.851 MQTT MQTTBroker connection: active
2019-04-17 13:20:19.088 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:20:44.115 HMLAN HMLAN1 loadLvl: low
2019-04-17 13:20:54.858 MQTT MQTTBroker connection: active
2019-04-17 13:21:09.111 HMLAN HMLAN1 loadLvl: low


FileLog_MQTT2_MQTTviamosquitto      MQTT2_MQTTviamosquitto-2019.log

2019-04-15_17:44:53 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-15_17:44:55 MQTT2_MQTTviamosquitto POWER1: 0
2019-04-15_17:45:00 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-15_17:45:01 MQTT2_MQTTviamosquitto POWER1: 0
2019-04-15_17:45:03 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-15_17:45:05 MQTT2_MQTTviamosquitto POWER1: 0
2019-04-15_17:48:15 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-15_17:48:16 MQTT2_MQTTviamosquitto POWER1: 0
2019-04-15_19:09:25 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-16_10:27:53 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:27:57 MQTT2_MQTTviamosquitto set_on
2019-04-16_10:27:59 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:28:13 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:28:15 MQTT2_MQTTviamosquitto set_on
2019-04-16_10:28:17 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:28:49 MQTT2_MQTTviamosquitto set_on
2019-04-16_10:28:52 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:30:01 MQTT2_MQTTviamosquitto set_on
2019-04-16_10:30:04 MQTT2_MQTTviamosquitto set_off
2019-04-16_10:30:05 MQTT2_MQTTviamosquitto set_on
2019-04-16_10:31:25 MQTT2_MQTTviamosquitto POWER: Off
2019-04-16_10:41:12 MQTT2_MQTTviamosquitto POWER1: 0
2019-04-16_10:41:13 MQTT2_MQTTviamosquitto POWER1: 1
2019-04-16_11:12:00 MQTT2_MQTTviamosquitto set_on
2019-04-16_11:12:01 MQTT2_MQTTviamosquitto set_off
2019-04-16_11:12:03 MQTT2_MQTTviamosquitto set_on
2019-04-16_11:12:05 MQTT2_MQTTviamosquitto set_off
2019-04-16_16:31:44 MQTT2_MQTTviamosquitto set_on
2019-04-16_16:31:45 MQTT2_MQTTviamosquitto set_off
2019-04-16_16:31:46 MQTT2_MQTTviamosquitto set_on
2019-04-16_17:15:16 MQTT2_MQTTviamosquitto set_off
2019-04-17_13:17:53 MQTT2_MQTTviamosquitto set_on
2019-04-17_13:17:54 MQTT2_MQTTviamosquitto set_off
2019-04-17_13:17:56 MQTT2_MQTTviamosquitto set_on
2019-04-17_13:17:58 MQTT2_MQTTviamosquitto set_off



jogibär

#7
ZitatGanz einfach: Wende auf das Device MQTT2_MQTTviamosquitto das bereits genannte template (A_00_MQTT2_CLIENT_general_bridge) an...

Dann erscheint bei MQTT2_DEVICE zwei neue Einträge:
MQTT2_DEVNAME und MQTT2_GeneralBridge

Schalten tun die Geräte aber immer noch nicht. Im Symbol Glühlampe habe ich auch dauernd ein Ausrufezeichen.

Beta-User

Also noch weiter von vorne:

Lösche ALLE anderen MQTT2_DEVICEs mit Ausnahme von MQTT2_GeneralBridge. (Am CLIENT sollte autocreate (simple) an sein). Dann schaltest du auf der Tasmota-Oberfläche einen der tastmotas (NICHT in FHEM).

Es sollte ein neues MQTT2_DEVIce angelegt werden.

Auf das das kannst du dann ganz normal das tastmota-Template anwenden und solltes danach auch via FHEM schalten können.

Wenn das geklappt hat: Nachste Hardware...

Ansonsten bitte RAW-Definitionen von allen Geräten (incl. des CLIENT), keine Screenshots.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jogibär

Ich habe erstmal das Device MQTT2_GeneralBridge dringelassen und versucht die Geräte erkennen zu lassen und anzulegen. Es kam auch was aber ich war nicht erfolgreich.
Nachdem die Geräte immer noch nicht geschaltet haben, habe ich wirklich alle Devices gelöscht und nur noch den MQTT2_Client ,,MQTT_via_mosquitto" mit autocreate simple drin gelassen.
Nichts.

Erst nach shutdown restart erschien ein MQTT_DEVICE ,,MQTT2_MQTTviamosqitto"
Darauf habe ich das Template A_00_MQTT2_CLIENT_general_bridge angewendet.
Daraufhin erscheint ein MQTT2_DEVICE MQTT2_GeneralBridge. MQTT2_MQTTviamosqitto steht ebenfalls noch bei den Devices.

Schalten der Tasmotas über die Browseroberfläche bewirkt nicht. Erst nach shutdown restart sind nun zwei neue Devices erschienen. Ich habe auf beide attrTemplate A_=1_tasmota_basic angewendet. Aber schalten tut immer noch nichts.

Raw vermutlich erstes Gerät
defmod MQTT2_DEVNAME MQTT2_DEVICE DEVNAME
attr MQTT2_DEVNAME IODev MQTT_via_mosquitto
attr MQTT2_DEVNAME autocreate 0
attr MQTT2_DEVNAME model A_01a_tasmota_basic_state_power1
attr MQTT2_DEVNAME readingList tele/DEVNAME/LWT:.* LWT\
  tele/DEVNAME/STATE:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/SENSOR:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
  stat/DEVNAME/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_DEVNAME room MQTT2_DEVICE
attr MQTT2_DEVNAME setList off:noArg    cmnd/DEVNAME/POWER1 0\
  on:noArg     cmnd/DEVNAME/POWER1 1\
  toggle:noArg cmnd/DEVNAME/POWER1 2
attr MQTT2_DEVNAME setStateList on off toggle
attr MQTT2_DEVNAME stateFormat POWER1


Raw 2.Gerät
Den Namen hat FHEM sich selbst ausgesucht.
defmod MQTT2_Straussenei MQTT2_DEVICE Straussenei
attr MQTT2_Straussenei IODev MQTT_via_mosquitto
attr MQTT2_Straussenei autocreate 0
attr MQTT2_Straussenei model A_01a_tasmota_basic_state_power1
attr MQTT2_Straussenei readingList tele/DEVNAME/LWT:.* LWT\
  tele/DEVNAME/STATE:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/SENSOR:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
  stat/DEVNAME/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_Straussenei room MQTT2_DEVICE
attr MQTT2_Straussenei setList off:noArg    cmnd/DEVNAME/POWER1 0\
  on:noArg     cmnd/DEVNAME/POWER1 1\
  toggle:noArg cmnd/DEVNAME/POWER1 2
attr MQTT2_Straussenei setStateList on off toggle
attr MQTT2_Straussenei stateFormat POWER1


Raw Bridge
defmod MQTT2_GeneralBridge MQTT2_DEVICE MQTT2_GeneralBridge
attr MQTT2_GeneralBridge IODev MQTT_via_mosquitto
attr MQTT2_GeneralBridge autocreate 1
attr MQTT2_GeneralBridge bridgeRegexp (tele|cmnd)[/]([^/]+)[/].*:.* "$2"\
  shellies[/]([^/]+)[/].*:.* "$1"\
  (ESPClient_[^/]+)[/].*:.* "$1"
attr MQTT2_GeneralBridge comment Do not use very open bridgeRegexp expressions! This might lead to irritating results...
attr MQTT2_GeneralBridge model A_00_MQTT2_CLIENT_general_bridge
attr MQTT2_GeneralBridge room MQTT2_DEVICE
attr MQTT2_GeneralBridge setStateList on off

setstate MQTT2_GeneralBridge 2019-04-17 17:30:32 associatedWith MQTT2_MQTTviamosquitto


defmod MQTT2_MQTTviamosquitto MQTT2_DEVICE MQTTviamosquitto
attr MQTT2_MQTTviamosquitto IODev MQTT_via_mosquitto
attr MQTT2_MQTTviamosquitto room MQTT2_DEVICE

setstate MQTT2_MQTTviamosquitto 2019-04-17 17:24:33 POWER Off


und Raw Client MQTT_via_mosquitto
defmod MQTT_via_mosquitto MQTT2_CLIENT 127.0.0.1:1883
attr MQTT_via_mosquitto autocreate simple
attr MQTT_via_mosquitto room MQTT2_DEVICE,System

setstate MQTT_via_mosquitto opened
setstate MQTT_via_mosquitto 2019-04-17 17:32:37 state opened


Beta-User

Hast du was an der readingList usw. geändert?Da sollte z.B. Straussenei statt devname stehen....
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jogibär

Nein ich habe nachdem das erschienen ist lediglich das template auf tasmota_basic gesetzt und dann versucht zu schalten.
Wieder altes Bild. Ausrufzeichen in der Glühlampe, keine Reaktion der Aktoren.

Beta-User

Na ja, die Topic-Pfade stimmen ziemlich sicher so auch nicht.

Frage: Gab es ein Dialogfeld beim Anwenden des tasmota-basic-templates? (Dann muß ich mir das template mal ansehen).

Das Device "MQTT2_DEVNAME" kannst du löschen, und in der RAW-Definition von "MQTT2_Straussenei" solltest du mal testweise einen readingList-Eintrag mit "Straussenei" statt DEVNAME belassen und den Rest löschen (das topic in dem tasmota-WebIF heißt auch Straussenei, oder?). Danach nochmal den Versuch starten, das basic-template anzuwenden, danach sollte es eigentlich vollständig und richtig sein (überall Straussenei).

Wenn nochmal ein Dialogfeld kommt, bitte gleich den Text "DEVNAME" mit dem ersetzen, was unter topic eingegeben wurde (dynamische Werte wie die Chip-ID ausgenommen, da das Ergebnis verwenden).

Wenn möglich bitte mal eine RAW-Definition vor Anwendung des basic-Templates liefern, wenn weitere Devices von autocreate angelegt werden (kurzfristig stromlos machen des ESP8266 sollte eigentlich reichen...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

andies

Ich weiß, dass in diesen dussligen Videos die topicpfade ohne Sinn und Verstand geändert wurden. Die musst du auf die Grundeinstellung zurückstellen. Hat die hier jemand für ihn?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Die Pfade waren in den Screenshots ok.

Die bridgeRegexp hat auch das Straussenei identifiziert, das klingt danach, als wäre weiter alles soweit ok, und "lediglich" das tasmota-template problematisch iVm. dem MQTT2_CLIENT.

Ansonsten bitte die RAW vor dem attrTemplate.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

jogibär

Frage: Gab es ein Dialogfeld beim Anwenden des tasmota-basic-templates
Es kam ein kleines Fenster in dem meine ich darauf hingewiesen wurde, dass der Name geändert werden soll.

Die bridgeRegexp hat auch das Straussenei identifiziert
das topic in dem tasmota-WebIF heißt auch Straussenei, oder?
NEIN, die Frage ist wie das passiert ist. Die beiden aktiven Tasmotas sind Aquariumpumpe und Aquariumlicht. (siehe Screenshot erster Post)
In meinem FHEM gibt es ein at, das Straussenei_at heißt und eine Homematic-Steckdose schaltet. Diese Steckdose wollte ich durch eine Sonoff S20 ersetzen. Die hatte ich auch geflasht und ins WLAN integriert. Die bekam den Namen Straussenei. Da hat dann aber das Update auf die neueste Tasmote nicht funktioniert und ich habe nix mehr hinbekommen, sodass ich die Steckose vor Wochen das letzte mal unter Spannung hatte. Nur die Fritzbox hat den Eintrag noch.

Ansonsten bitte die RAW vor dem attrTemplate.
Soll ich also alle Geräte löschen und noch mal von vorne anfangen? Oder wie ist das gemeint?

Beta-User

Nur kurz, da mobil:mosquitto kennt das Straussenei auch noch, aber scheinbar die anderen beiden nicht. Fehler erst zwischen sonoff und Broker suchen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Gisbert

Hallo jogibär,

bist du weitergekommen, oder hast du gar dein Problem zufriedenstellend gelöst?

Ich hatte versucht dir anhand eines praktischen Beispiels aufzuzeigen, wie es bei mir funktioniert, mit Erklärungen, Definitionen und Scrernshots. Leider hatte ich mich in der Forumssoftware derart verheddert, so dass mein längerer Beitrag unrettbar verschwunden war.

Wenn du noch Bedarf hast, dann melde dich, ich schreibe dann nochmals alles auf und poste es.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

jogibär

Hallo Gisbert,
danke für die Nachfrage.
Nein, bisher bin ich nicht nennenswert weiter.
Das autocreate hat zwar Geräte angelegt, ich konnte aber weder identifizieren welches der beiden Basic-Geräte
es eigentlich ist, noch schalten die Aktoren aus FHEM heraus.

Alles was funktioniert ist die WLAN-Anbindung und schalten über die Browseroberfläche.
Schöne Ostern.

DasQ

Wieso nutzt man noch mosqitto als Broker, wenn man intern dann mqtt2-Clients verwendet?
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

TomLee

Zitat von: DasQ am 20 April 2019, 20:54:25
Wieso nutzt man noch mosqitto als Broker, wenn man intern dann mqtt2-Clients verwendet?

Meinem Verständnis nach gibts MQTT2_Client nur für den Fall das man "noch" Mosquitto als Broker nutzt.

Gruß

Thomas

jogibär

Wie gesagt, ich versuche seit Wochen die Dinger zum Laufen zu bekommen.
Mosqitto war in den Anleitungen, die ich als erstes versucht habe eben als Broker empfohlen.
Nachdem nix geklappt hat habe ich weitergesucht und Anleitungen gefunden, die Mosqitto verwenden
und dann mit MQTT2_Client arbeiten. Also habe ich das dann versucht.

Ich bin für alternativvorschläge offen. Nur brauche ich wirklich genaue Handlungsanweisungen was genau ich machen soll.

rudolfkoenig

ZitatNur brauche ich wirklich genaue Handlungsanweisungen was genau ich machen soll.

Teil 1: Reset
1. mosquitto stoppen/deinstallieren
2. in FHEM alles mit Typ MQTT.* entfernen (delete TYPE=MQTT.*)
3. im TASMOTA Frontend sicherstellen, dass die MQTT TOPICs nicht veraendert wurden, im Zweifel: Reset Configuration

Teil 2: Anlegen
1. in FHEM mit "define m2s MQTT2_SERVER 1883 global" einen Server anlegen.
2. im TASMOTA Frontend die IP des FHEM Servers eingeben in Configure MQTT / MQTT Host
3. FHEM legt automatisch ein MQTT2_DEVICE an mit dem Namen MQTT2_<TasmotaClientId>, dieses bei Bedarf umbenennen (rename MQTT2_XXX Lampe1)
4. In der Detailansicht der MQTT2_DEVICE erst mit "set Lampe1 attrTemplate ?" ueber den vorhandenen Optionen informieren, und danach z.Bsp. mit "set Lampe1 attrTemplate A_01a_tasmota_basic_state_power1" die Passende setzen.

andies

Ich bin nach wie vor der Meinung, dass das mit diesen grausigen Videos zusammenhängt. Wenn Du mit der Weboberfläche schalten kannst, ist das Gerät in Ordnung und die MQTT-Anbindung funktioniert nicht. Du musst Dich mit der Syntax von MQTT auseinandersetzen und verstehen, wieso das nicht erkannt wird.

Dazu zuerst einmal im Wiki lesen, https://github.com/mqtt/mqtt.github.io/wiki/topic_format und nachfolgende.

Wenn ich die Screenshots bei Dir richtig lese, sind die Topics so eingestellt:
%prefix%/%topic%
Das bedeutet, intern wird zuerst der Kommandobefehl vorangestellt (üblicherweise tele oder stat oder cmnd, nachzulesen hier: https://github.com/arendst/Sonoff-Tasmota/wiki/MQTT-Overview) und dann das eigentliche topic; üblicherweise der Gerätename und der Befehl ("einschalten") selbst. Die Prozentzeichen zeigen an, dass dabei nicht die Worte prefix oder topic gesendet werden, sondern das, was im Gerät selbst unter den Variablen topic und prefix gespeichert ist. Als prefix verwendet Tasmota, wie geschrieben, cmnd oder stat oder tele. Als topic verwendet tasmota das, was du oben im Gerätenamen eingegeben hast; vermutlich client. Im Zweifel kannst du, wenn Du Mosquitto verwendest, die "Gespräche mithören".

In Deinem FHEM-Gerät musst Du nun prefix und topic entsprechend einstellen, damit FHEM mit dem Gerät und nicht dem Weltall kommuniziert. Dort lese ich als Mqtt:
attr MQTT2_DEVNAME setList off:noArg    cmnd/DEVNAME/POWER1 0\
  on:noArg     cmnd/DEVNAME/POWER1 1\
  toggle:noArg cmnd/DEVNAME/POWER1 2

und DEVNAME ist hier keine Variable, sondern ein String und wird damit nicht in irgendetwas umgewandelt. Das kann also schon mal gar nicht oben passen.

Wenn Du mit der Hand nicht durchkommst, machst Du das, was rudolfkoenig schrieb, während ich hier diesen Roman zusammengepinselt habe.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Gisbert

#24
Hallo jogibär,

ich versuche mich dann mal an einer Beschreibung, was ich gemacht habe, und wie es bei mir funktioniert.
Bevor Einwände kommen, ich nehme nicht für mich in Anspruch, dass ich die beste Lösung benutze, für mich funktioniert sie aber.
Da ich versproche hatte zu helfen, poste ich das, was bei mir funktioniert. Wenn ich noch etwas verbessern kann, dann bin ich dafür immer zu haben.

Ich benutze das MQTT_DEVICE in Fhem, welches die Installation eines MQTT-Brokers auf dem Fhem-Server notwendig macht. Wie das geht, kann man hier nachlesen:
http://blog.wenzlaff.de/?p=6487
Desweiteren habe ich mich dafür entschieden, die MQTT-Kommunikation zu verschlüsseln. Ob das notwendig, sinnvoll oder nur lästig ist, kann ich nicht beurteilen; ich hab's nun mal so gemacht und kann es deshalb auch nur so schildern. Wie das geht, kann man hier nachlesen: http://www.steves-internet-guide.com/mqtt-username-password-example/
In Kürze gibt man folgendes auf dem Fhem-Server ein:
sudo mosquitto_passwd -c passwordfile.txt meinUser
Password: supergeheimespassword

In passwordfile.txt steht dann:
meinUser:irgendeingeschwurbbeltesverschlüsseltespassword

In Fhem habe ich einen MQTT-Broker definiert:
define MyBroker MQTT IP-Fhem-Server:1883 meinUser supergeheimespassword
Die Credentials werden gespeichert und aus der Definition entfernt.
Wenn bis hierher alles richtig funktioniert hat, dann sollte das Device MyBroker den Status "opened" haben.

Jetzt geht es mit dem Sonoff weiter. Da ich noch einen Sonoff Dual übrig hatte, hab ich diesen benutzt, obwohl ich damit nur ein Relais schalte. Wenn deine Anwendung räumlich so gestaltet sind, dass sie mit einem Sonoff Dual zu betreiben sind, wäre das sicher besser als 2 Sonoff Basic einzusetzen. Beide Geräte ziehen in etwa 1.3 Watt, d.h. nach etwa 3-4 Jahren lohnt sich die Anschaffung eines Duals im Vergleich zu bereits vorhandenen 2 Sonoff Basics. Falls du einen Sonoff Dual brauchst, dann sag bitte Bescheid, ich hab noch welche.

Den Sonoff Dual betreibe ich mit Tasmota 6.2.1. Außer dem einen Relais (das 2. Relais wird gar nicht benutzt) habe ich noch Dallas DS18B20-Temperatursensoren an GPIO14 angeschlossen. Der Fachkundige wird jetzt sagen, das geht doch gar nicht, denn GPIO14 ist auf den Sonoff Dual nicht herausgeführt. Ja das stimmt, ich habe eine Litze am GPIO14 am ESP8266 angelötet, damit geht es dann doch.
Die Definitionen in Tasmota, siehe Screenshots: Configure_Modul.jpeg und Configure_MQTT.jpeg. Bitte beachte, dass hier die gleichen Credentials für MQTT eingegeben werden müssen wie bei Linux und in Fhem.

Jetzt geht es weiter mit der Definition eines Devices in Fhem (ich hab alles Unwesentliche weggelassen, was für das Verständnis hier unnötig ist):
define Heizung MQTT_DEVICE
attr Heizung IODev MyBroker
attr Heizung autoSubscribeReadings +/Heizung/+
attr Heizung publishSet_POWER1 ON OFF cmnd/Heizung/POWER1
attr Heizung publishSet_POWER2 ON OFF cmnd/Heizung/POWER2
attr Heizung subscribeReading_INFO1 tele/Heizung/INFO1
attr Heizung subscribeReading_INFO2 tele/Heizung/INFO2
attr Heizung subscribeReading_INFO3 tele/Heizung/INFO3
attr Heizung subscribeReading_LWT tele/Heizung/LWT
attr Heizung subscribeReading_POWER cmnd/Heizung/POWER
attr Heizung subscribeReading_POWER1 cmnd/Heizung/POWER1
attr Heizung subscribeReading_POWER2 stat/Heizung/POWER2
attr Heizung subscribeReading_RESULT stat/Heizung/RESULT
attr Heizung subscribeReading_SENSOR tele/Heizung/SENSOR
attr Heizung subscribeReading_STATE tele/Heizung/STATE
attr Heizung subscribeReading_UPTIME tele/Heizung/UPTIME


Wichtig ist hier das Attribut attr Heizung autoSubscribeReadings +/Heizung/+
Wobei das Device in Fhem nur zufällig (eigentlich beabsichtigt) Heizung heißt. Wichtig ist +/Heizung/+ - damit empfängst du alle Messages, die dein Sonoff sendet, dem du das Topic "Heizung" verpasst hast - siehe auch den Screenshot. Das "+" steht für einen Eintrag in der Baumstruktur von MQTT. Du musst nur das Attribut "autoSubscribeReadings" definieren, die anderen werden dann nach und nach angelegt, sobald etwas in Fhem ankommt.
Das Attribut "publishSet_POWER1" (und 2) wird nicht selbstständig angelegt, d.h. es muss definiert werden !!

Nur falls du auf den Geschmack gekommen bist, und auch Temperaturen messen willst, dann empfiehlt es sich diese Defintion zu ergänzen. Die neueren MQTT-Module machen das anscheinend selbstständig, beim dem Modul MQTT_DEVICE ist es nicht enthalten.
define ej3 expandJSON .*:SENSOR:.{.*}
Damit wird bei allen Devices das Reading "SENSOR" in einzelne Bereiche zerlegt.   Aus diesem Reading:   
SENSOR {"Time":"1970-01-01T00:25:14","DS18B20-1":{"Id":"0000075B2C3E","Temperature":27.1},"DS18B20-2":{"Id":"0216017DA4EE","Temperature":26.9},"TempUnit":"C"}
werden die folgenden Readings angelegt:
DS18B20-1_Id 0000075B2C3E
DS18B20-1_Temperature 27.2
DS18B20-2_Id 0216017DA4EE
DS18B20-2_Temperature 27.1
TempUnit C
Time 1970-01-01T00:30:14


Das Schalten des Relais funktioniert dann mit dem Befehl aus Fhem heraus mit:
set Heizung POWER1 ON
set Heizung POWER1 OFF


Last but not least die App MyMQTT.
Hier trägst du unter Settings die IP des Fhem-Servers ein, auf dem der MQTT-Broker läuft, in meinem Fall dann auch die MQTT Credentials.
Unter Subscribe trägst du das ein, was du gerne empfangen möchtest, also +/Heizung/+
Unter Dashboard siehst du dann die eingegangenen Messages (siehe auch Screenshot).

Wenn es noch Fragen gibt, dann melde dich gerne wieder.
Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

DasQ

#25
warum ihr noch immer auf den viel komplizierteren mosquitto broker abfahrt, bleibt mir ein rätsel.

das ding ist nur achteckig und kompliziert.

der MQTT2-server von @rudolfkoenig, macht die sache so brutal viel einfacher. 8) :o ;D ;)

effektiv 7 anweisung --> https://forum.fhem.de/index.php/topic,99688.msg932037.html#msg932037
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Gisbert

Zitatwarum ihr noch immer auf den viel komplizierteren mosquitto broker abfahrt, bleibt mir ein rätsel.
Das Rätsel ist einfach zu lösen. Ich hatte mit MQTT_DEVICE angefangen, vermutlich weil es die modernere Variante noch gar nicht gab. Wenn man es denn mal in Benutzung hat, ist jede Änderung zunächst mal komplizierter, und deshalb bin ich bei dem älteren Modul geblieben.
Es gab schon Diskussionen über das für und wider für die diversen Varianten. Ohne mich an Details zu erinnern, hatte ich abgespeichert, bei dem älteren Modul zu bleiben.

Ich werde daran denken, beim nächsten Device das neue Modul auszuprobieren. Geht das im Mischbetrieb mit dem alten Modul, bzw. was muss dabei alles bedacht werden?

Viele​ Grüße ​Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

jogibär

OK, ich habe ja nun einige Hinweise, wie ich verfahren muss.
Wir sind nach Ostern ein paar Tage unterwegs, wenn wir zurück sind werde ich
wieder drangehen.
Ich melde mich sobald ich (hoffentlich) Erfolg hatte.

jogibär

So, ich habe mich dran gemacht und was soll ich sagen:"ES HAT GEKLAPPT"  ;) ;D ;D ;D ;D

Ich habe Mosquitto und alles zu MQTT-Devices rausgeschmissen, danach die Sonoffs zurückgesetzt und neu ins WLAN eingebunden.
Nach Installation von MQTT2_Server war direkt das erste Gerät da und ich kann aus FHEM tatsächlich schalten.

So einfach, wenn man weiß wie es geht.
Ich denke das Problem war wirklich, dass die Anleitung im Video kein Selbstläufer war und jeder Versuch es hinzubiegen die Sache noch verschlimmert hat.
Ich hätte viel früher im Forum fragen sollen. :'(

Danke an alle Helfer!

jogibär

#29
OK, zu früh gefreut.
Das Anbinden des ersten Gerätes ,,Aquariumpumpe" hat funktioniert, das Gerät schaltet.
Ich wollte dann das 2. Gerät hinzufügen. Ich bin identisch zum ersten vorgegangen.
Als ich versucht habe mit

set  Aquariumlicht attrTemplate A_01a_tasmota_basic_state_power1
das Attibut zuzuweisen kam eine Meldung, mit der ich nicht wirklich was anfangen kann.
set Aquariumlicht attrTemplate A_01a_tasmota_basic_state_power1 DEVNAME
Replace
DEVNAME: with the ESP's name in the topic
siehe auch Screenshot

Wie bei der Pumpe erschien eine Glühlampe und on,off.
Beim Schalten passiert nichts und die Glühlampe bekommt wieder ein Ausrufezeichen.
Ich habe es mehrmals versucht, immer gleiches Resultat. Ich habe dann die Pumpe angebunden, funktioniert. Sonoff Pumpe von Spannung getrennt, Sonoff für Licht angeschlossen. Wieder wie oben, schaltet nicht. Wenn ich allerdings die Pumpe schalte, schaltet der Sonoff für das Licht.
Ich bin völlig ratlos, was ich wieder falsch gemacht habe.

defmod Aqariumpumpe MQTT2_DEVICE DVES_8089BE
attr Aqariumpumpe IODev m2s
attr Aqariumpumpe autocreate 0
attr Aqariumpumpe model A_01a_tasmota_basic_state_power1
attr Aqariumpumpe readingList tele/sonoff/LWT:.* LWT\
  tele/sonoff/STATE:.* { json2nameValue($EVENT) }\
  tele/sonoff/SENSOR:.* { json2nameValue($EVENT) }\
  tele/sonoff/INFO.:.* { json2nameValue($EVENT) }\
  stat/sonoff/RESULT:.* { json2nameValue($EVENT) }
attr Aqariumpumpe room MQTT2_DEVICE
attr Aqariumpumpe setList off:noArg    cmnd/sonoff/POWER1 0\
  on:noArg     cmnd/sonoff/POWER1 1\
  toggle:noArg cmnd/sonoff/POWER1 2
attr Aqariumpumpe setStateList on off toggle
attr Aqariumpumpe stateFormat POWER1


defmod Aquariumlicht MQTT2_DEVICE DVES_66C698
attr Aquariumlicht IODev m2s
attr Aquariumlicht autocreate 0
attr Aquariumlicht model A_01a_tasmota_basic_state_power1
attr Aquariumlicht readingList tele/DEVNAME/LWT:.* LWT\
  tele/DEVNAME/STATE:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/SENSOR:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
  stat/DEVNAME/RESULT:.* { json2nameValue($EVENT) }
attr Aquariumlicht room MQTT2_DEVICE
attr Aquariumlicht setList off:noArg    cmnd/DEVNAME/POWER1 0\
  on:noArg     cmnd/DEVNAME/POWER1 1\
  toggle:noArg cmnd/DEVNAME/POWER1 2
attr Aquariumlicht setStateList on off toggle
attr Aquariumlicht stateFormat POWER1


Beta-User

Heißen die alle sonoff?!?Bitte z.b. die chip ID verwenden.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

andies

Ich kann das nicht genau lesen, weil ich gleich weg muss. Aber was ich sofort sehe ist folgendes
set Aquariumlicht attrTemplate A_01a_tasmota_basic_state_power1 DEVNAME

set ist der Befehl, ,,mache was". Aquariumlicht ist das Gerät. Das gibt es auch bei dir. attrTemplate setzt jetzt das Template, und da nimmst du basic, ok. Und dann muss der Gerätename kommen, da nimmst du aber die Variable, die den Namen enthalten sollte und nicht den Namen selbst!


https://wiki.fhem.de/wiki/MQTT2_DEVICE#attrTemplate
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Beta-User

Vielleicht mal eine generelle Anmerkung:

Wenn dieses Dialogfeld bei einem Tasmota-Device kommt, stimmt IMMER was nicht mit der readingList bzw. den Topic-Pfaden. Das kann zwei Ursachen haben: Entweder man hat an der falschen Stelle manuell eingegriffen, oder es ist sonst was verbogen. Es ist dann also im Ergebnis besser, den Vorgang hier (bei tasmota!) abzubrechen!

Das "sonst was" ist hier, dass ziemlich sicher mind. 2 Geräte an der angegebenen Stelle ein "sonoff" beinhalten.

Im wiki (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Tasmota) hatte ich die Empfehlung gegeben, man sollte bei allen die Angabe "DVES_%06X" verwenden. Dann wird - wie für die CID auch - die Chip-ID verwendet.
Ich halte das (und nicht irgendwas anderes sonstwie sprechendes!) aus mehreren Gründen für empfehlenswert:
- Die Usergruppe, die diese Geräte nur einfach mal so in FHEM einbinden will, braucht eigentlich keine sprechenden Topics. Alles weitere an Kennzeichnung (Name, Gruppe, Raum) macht man sowieso in FHEM.
- Es ist IMMER EINDEUTIG, kein DAU kann da was falsch machen und versehentlich doch zwei Devices unter derselben Kennung verwenden wollen.
- Nutzt man erst den MQTT2_CLIENT und dann den MQTT2_SERVER, werden trotzdem identische CID's genutzt, das ganze ist und bleibt konsistent.

Wer es besser weiß, darf gerne versuchen, mir seine Gründe zu erklären, ansonsten wäre ich wirklich dankbar, wenn wir Helfende das schlicht und einfach _genau so_ allen Usern verklickern und nicht jeder "seine" Lösung propagiert.

Weiter bleibt anzumerken, dass für ein screenshot für die tasmota-Einstellungen sinnvoll ist (da die einzige Möglichkeit), aber die Anzeige des Dialogfelds wenig zur Erhellung beiträgt und ich es ärgerlich finde, wenn ich den Textinhalt (topic-Tree bzw. aktuelle readingList), der Aufschluß gibt über das eigentliche Problem, aus einem Bildchen extrahieren muß.

Kurz: Wenn das Dialogfeld nochmal kommen sollte (und DVES_%06X verwendet wurde), dann abbrechen und ein RAW des Devices einstellen!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

#34
[OT on]

Zitat von: Beta-User am 05 Mai 2019, 08:50:13
Wer es besser weiß, darf gerne versuchen, mir seine Gründe zu erklären, ansonsten wäre ich wirklich dankbar, wenn wir Helfende das schlicht und einfach _genau so_ allen Usern verklickern und nicht jeder "seine" Lösung propagiert.

Weiter bleibt anzumerken, dass für ein screenshot für die tasmota-Einstellungen sinnvoll ist (da die einzige Möglichkeit), aber die Anzeige des Dialogfelds wenig zur Erhellung beiträgt und ich es ärgerlich finde, wenn ich den Textinhalt (topic-Tree bzw. aktuelle readingList), der Aufschluß gibt über das eigentliche Problem, aus einem Bildchen extrahieren muß.

also ich bin ein grosser freund von sprechenden namen. das hat mehrere gründe, die da wären:
- um verwirrung zu vermeiden
- um es von anfang an leichter zu haben
- um fehler zu vermeiden
- um dinge wartbar zu machen, nicht nur durch mich, auch für dritte
- um konventionen einzuhalten
- um mir selber das leben in der zukunft zu vereinfachen
-usw.

die liste ist endlos :P

Und ... naja, gelernt hab ich das in so gut wie jedem programmierkurs. z.b. im  AWL, FUP, KOP,SCL, Graf, C, C++, PHP, Hmtl, Javascript, usw.

Aber, ich weis es ist nicht leicht, sich da eine sinnstiftende struktur auszudenken. Bei mir kann das ganz gern zwei drei anläufe brauchen bis ich damit zufrieden bin. Und es ist durchaus möglich, das unfug dadurch entsteht  z.b.: https://dirty-co.de/generated-content/wenn-arnold-schmidt-eine-generierte-emailadresse-bekommt/

egal, jeder soll für sich entscheiden dürfen ob und wie er die sache angeht. Ich für mein teil nenn da jetzt mal ein szenario, warum ich das gleich mit sprechende namen gemacht habe. Ich habe ganz einfach immer mehrere gleiche Sonoff`s, über einen grösseren bereicht verteilt, in betrieb genommen. da war es ganz einfach zwingend erforderlich, das die von vornherein für mich, eindeutige namen am server erzeugen.
Ich spring ja nicht in keller um zu schauen welchen der beiden POW geschaltet hat.

btw. OT ende

oderähdochnicht

im grund machen wir uns über etwas rund, was am besten in der tasmotafirmware beseitigt würde- kleine info über dem feld das des topic "einzigartig sein muss.

Wie wärs wenn man in die Fehlermeldung, gleich ein Link ins Wiki zimmert und dort unter bekannte fehler/probleme/whatever ein sammelsuruim an bekannten fehlern dokumentiert. das erleichtert es beiden seiten.

p.s.: meine screenshots usw. von hier und aus dem forum, dürfen gern für sowas im wiki verwendet werden.
auch würde ich mich nicht über ein wikizugang ärgern, bin aber ne faule socke und das müsst mir dann schon einer erledigen. (und korrektur lesen muss man mein geschreibsel grundsätzlich auch)  :D :o (wenn mich da einer an die hand nehmen würde...)

aberjetztOToff

wär schön wenn der themenersteller kurz antworten könnt obs das war ....  8) ::)

und zur Doku noch ein paar screenshots:
sollte der bereich der informationen, den bildschirmbereich sprengen und somit einen einfachen screenshot erschweren, kann man die seite auch easy markieren --> kopieren und als code hier posten. das machts immer leichter und info`s dürfen`s immer etwas mehr sein. ::)

Sonoff T1 2CH Module
Sonoff_Wz
Program Version 6.5.0(release-sonoff)
Build Date & Time 2019-03-19T12:24:10
Core/SDK Version 2_3_0/1.5.3(aec24ac9)
Uptime 1T00:56:22
Flash write Count 3084 at 0xFA000
Boot Count 48
Restart Reason Software/System restart
Friendly Name 1 Sonoff_Wz
Friendly Name 2 Sonoff2_Wz

AP1 SSId (RSSI) 1 (78%)
Hostname SonOff-Wz
IP Address 192.168.1.170
Gateway 192.168.1.102
Subnet Mask 255.255.255.0
DNS Server 192.168.1.102
MAC Address 60:01:94:AD:6E:2A

MQTT Host fhempi
MQTT Port 1883
MQTT User andy
MQTT Client SonOff_Wz
MQTT Topic sonoff_Wz
MQTT Group Topic sonoffs
MQTT Full Topic cmnd/sonoff_Wz/
MQTT Fallback Topic cmnd/SonOff_Wz_fb/

Emulation None
mDNS Discovery Disabled

ESP Chip Id 11365930
Flash Chip Id 0x144051
Flash Size 1024kB
Program Flash Size 1024kB
Program Size 507kB
Free Program Space 496kB
Free Memory 14kB
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Beta-User

Vielleicht noch zwei Anmerkungen:

Zum einen bin auch ich ein Freund sprechender Namen und gebe dir im Prinzip dahingehend recht, dass man das möglichst "vorn in der Informationskette" einrichten sollte. ABER: wer weiß, was er tut, wird sich (zurecht!) um so einen Hinweis nicht scheren und evtl. sogar eine komplett andere Topic-Struktur nutzen (ebenfalls zurecht!). Zielgruppe für diese kleine Einführung (und in Teilen auch die templates) sind Leute wie der TE, die erst noch ein Gefühl dafür bekommen wollen, was sie da tun und den MQTT2_SERVER verwenden. Und für die ist es im Prinzip egal, weil sie zum einen eh' FHEM brauchen (sonst: kein Broker), und dann alles andere über den FHEM-internen Namen usw. regeln können - so wie bei beliebigen IT, CUL_HM, ZWave ... -Geräten auch.
Dann hat man auch kein Problem, wenn man ein Gerät mal für die Weihnachtsbeleuchtung innen einsetzt und mal für die Terrasse (die meistverbreitete Variante ist doch immer noch die tragbare Schaltsteckdose, oder?...).
Mit meinem Vorschlag hat man eben genau eine Angabe, die man den Neulingen um die Ohren haut, die immer paßt ;) . Finde ich an der Stelle (ausnahmsweise!) wichtiger.

Zum anderen bezog sich das Gemotze über screenshots ausdrücklich nicht auf dein Tasmota-WEB-IF, sondern das Dialogfeld nach Aufruf von attrTemolate. Sorry, wenn das nicht klar genug zum Ausdruck kam.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

#36
das war mir schon klar, ich fand den screener auch etwas ... naja.

btw. muss man die jungs von tasmota auch in schutz nehmen, siehe screenshot.  :D ;D ::)
Link zum TasmotaWiki
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

jogibär

ZitatUnd dann muss der Gerätename kommen, da nimmst du aber die Variable, die den Namen enthalten sollte und nicht den Namen selbst!

War mir schon klar, dass hier der Hase begraben ist. Ich habe auch alles mögliche verucht, was ich für DEVNAME einsetzen könnte, hat aber alles nicht funktioniert.

ZitatDas "sonst was" ist hier, dass ziemlich sicher mind. 2 Geräte an der angegebenen Stelle ein "sonoff" beinhalten.

Genau das war es. Nachdem die Änderungen der Topics im Video stark kritisiert wurden habe ich die Gerätekonfiguration zurückgesetzt und danach außer bei der IP des MQTTServers die Finger von den Einstellungen gelassen.
Ich dachte man lässt besser alles wie es ist und gibt nur in FHEM einen neuen Namen. Es schalten jetzt beide Sonoffs!  ;D ;D ;D

ZitatIm wiki (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Tasmota) hatte ich die Empfehlung gegeben, man sollte bei allen die Angabe "DVES_%06X" verwenden. Dann wird - wie für die CID auch - die Chip-ID verwendet.
Ich habe die Angabe DVES_%06X so gelassen. War standardmäßig nach der Neukonfiguration eingetragen. Hätte das das Topic eigentlich in einen eindeutigen Namen verändern müssen oder habe ich das wieder falsch verstanden?

Wie auch immer. Ich hoffe mal, dass ich beim Einbinden meiner S20 nun mehr erfolg haben werde und es auch ohne Hilfe klappt. Vielen Dank nochmal für die gute Unterstützung.

Beta-User

Zitat von: jogibär am 05 Mai 2019, 15:15:55
Ich habe die Angabe DVES_%06X so gelassen. War standardmäßig nach der Neukonfiguration eingetragen. Hätte das das Topic eigentlich in einen eindeutigen Namen verändern müssen oder habe ich das wieder falsch verstanden?
In einer "frischen" tasmota-firmware steht die dynamische Angabe "DVES_%06X" nur unter "Client" (3. Feld der Konfiguration), aber Topic (6. Feld) ist erst mal nicht dynamisch, da steht "sonoff". Um es wirklich dynamisch (und einheitlich!) zu haben, ist die Empfehlung, das "DVES_%06X" in beiden Feldern einzutragen.

Ich hatte gestern den Text im Wiki noch etwas erweitert, damit die Textreferenzen auf das Dialogfeld der tasmota-Settings noch eindeutiger ist; wer da immer noch Verbesserungspotential sieht: Konkrete Vorschläge wären hilfreich...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files