mqtt2.template für RFbridge von Sonoff entwickeln

Begonnen von Tueftler1983, 27 März 2019, 10:02:44

Vorheriges Thema - Nächstes Thema

Tueftler1983

So alle Geräte laufen jetzt mit den default Einstellungen in MQTT als nächstes werde ich mich an den MQTT2_Server.

Ist richtig wenn ich den MQTT2_Server nutze muss ich den
Moskito Server vom raspberry deaktivieren/deinstallieren,
das MQTT device Moskito löschen in FHEM,
den MQTT2_CLIENT in FHEM löschen und MQTT2_generalBridge löschen oder?

Beta-User

Zitat von: Tueftler1983 am 27 März 2019, 17:23:41
Ist richtig wenn ich den MQTT2_Server nutze muss ich den
Moskito Server vom raspberry deaktivieren/deinstallieren,
das MQTT device Moskito löschen in FHEM,
den MQTT2_CLIENT in FHEM löschen und MQTT2_generalBridge löschen oder?
"müssen" ist nur das Freimachen des Ports 1883 (wenn du an den externen Geräten nichts ändern willst). Aber ansonsten ist es ok, wenn du alle Schritte wie von dir aufgeschrieben durchführst (dann brauche ich auch nicht lange zu erklären, wie es teilweise auch anders noch ginge...)
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

Tueftler1983

So,
also habe jetzt umgestellt auf MQQT2_FHEM_SERVER, es hat alles geklappt habe das autocreate aber auf no geschaltet da er mir meine Geräte nochmal angelegt hatte.
Mosquitto ist deinstalliert und alle nicht mehr benötigten module sind gelöscht.

An dieser stelle nochmal Herzlichen dank für die Unterstützung!!

Beta-User

Danke für die Rückmeldung, freut mich, wenn das trotz der anfänglichen Skepsis jetzt doch einigermaßen reibungslos gegangen ist :) .

Empfehlung noch: Geräte werden nur dann per autocreate "nochmal" angelegt, wenn sowohl
- das topic "noch keinen Abnehmer hat" als auch
- kein Device mit passender CID vorhanden ist (wenn vorhanden, wird dessen readingList ergänzt).

Du hattest vermutlich letzteres Problem. Das läßt sich vermeiden, wenn man in der Konfiguration der tasmotas gleich das "DEVS_%06X" (?) als topic angibt, solange der CLIENT iVm. der GeneralBridge aktiv ist. Später dann, indem man die CID aller MQTT2_DEVICEs prüft und erforderlichenfalls händisch ändert (was ich jetzt ggf. nachzuholen empfehlen würde).

Bitte melden, wenn das zu sehr Kauderwelsch ist :) .
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

Tueftler1983

Habe halt vom Namen her gerne alles verständlich, kann ich dann bei Client im Gerät unter den MQTT Einstellungen auch Waschmaschine schreiben um es eindeutig zu machen oder ist es da besser das default zu lassen?

Default: DVES_849E9D
Ich würde da jetzt: Waschmaschine
rein schreiben

Beta-User

Du hast im Prinzip alle Freiheit, das zu machen, wie du magst. Ich neige dazu, das nur "am Ende" (in FHEM) umzubenennen (rename oder alias), weil ich lieber "die Hardware sehe" (hier also die Chip-ID); das ist aber an der Stelle nur ein Baugefühl, das mich da leitet :) .

Um den tasmota (also dessen web-if) aufzurufen, haben wir jüngst auch einen Vorschlag gepostet, wie man aus dem LWT-Statement einen klickbaren Link dahin macht (siehe das tasmota-shutter-template).

Ich habe mal im Hinblick auf usere Erkenntnisse im Wiki ein paar Änderungen in den Praxisbeispielen und dem MQTT2_CLIENT-Artikel vorgenommen. Vielleicht magst du mir Rückmeldung geben, ob das für dich verständlich ist (bei Verbesserungsbedarf gerne auch im Wiki-Bereich, es gibt glaube ich zu beidem einen Artikel).
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

Tueftler1983

Hallo, und sorry für die späte Rückmeldung.

Also ich finde das Wiki jetzt verständlicher, vielleicht kommt das aber auch durch das eigene testen und einrichten. Im Prinzip finde ich es mit dem FHEM MQTT2_Server einfacher als über den extra system Dienst MQTT Mosquitto.
Auf jeden Fall nochmal danke für den super support

Beta-User

Danke für die Rückmeldung, besser spät als nie :) .

Auch nach meiner Einschätzung ist es mit dem MQTT2_SERVER einfacher, da der den Ursprung der Daten kennt. Dazu hat man bei kleinen Installationen keine weiteren Abhängigkeiten, auch wenn mosquitto an sich keine schwierige Komponente ist.

Jetzt wäre es noch nett, wenn du ein list -r liefern könntest von deinen jetzigen Einstellungen, dann kann ich das ggf. "vertemplaten" wie im Thread-Titel angekündigt? Dann wäre es auch in meinen Augen [gelöst]. (Testen - mit einer copy sollte das gefahrlos gehen - wäre dann noch nett.)
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

Tueftler1983

Hey ho,
reicht das? Oder das komplette list -r auch mit den empfangenen Daten?
define BridgeSonoff MQTT2_DEVICE Bridge
attr BridgeSonoff IODev MQTT2_FHEM_Server
attr BridgeSonoff readingList cmnd/Bridge/POWER:.* POWER\
tele/Bridge/INFO1:.* { json2nameValue($EVENT) }\
tele/Bridge/INFO2:.* { json2nameValue($EVENT) }\
tele/Bridge/INFO3:.* { json2nameValue($EVENT) }\
tele/Bridge/STATE:.* { json2nameValue($EVENT) }\
tele/Bridge/INFO:.* { json2nameValue($EVENT) }\
tele/Bridge/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"Data"=>$4} : json2nameValue($EVENT) }\
tele/Bridge/LWT:.* LWT\
tele/Bridge/UPTIME:.* { json2nameValue($EVENT) }
attr BridgeSonoff room MQTT2_DEVICE

Beta-User

Sollte reichen...

Hat das Ding ein Relais? Der cmnd-Teil in der readingList klang danach. Achtung: das macht "Kleinschreibung" für on/off.


name:A_01d_tasmota_rf
desc:Demonstrates an option how to configure tasmota devices as RF remote control extension.<br><a href="https://forum.fhem.de/index.php/topic,99042.msg927000.html#msg927000">Forum Thread</a><br>NOTE: Sending commands is missing, you may contribute...
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd).*
par:DEVNAME;ESP's name in the topic;{ AttrVal("DEVICE","readingList","") =~ m,tele/([^/]*)/, ? $1 : undef }
set DEVICE attrTemplate A_01a_tasmota_basic_state_power1
attr DEVICE setList \
  off:noArg    cmnd/DEVNAME/POWER1 0\
  on:noArg     cmnd/DEVNAME/POWER1 1\
attr DEVICE readingList \
  tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"Data"=>$4} : json2nameValue($EVENT) }\
  tele/DEVNAME/LWT:.* LWT\
  tele/DEVNAME/UPTIME:.* { json2nameValue($EVENT) }
  attr DEVICE stateFormat Data\
<br>\
<a href="http://IPAddress" target="_blank">IPAddress</a>
attr DEVICE event-on-change-reading .*
attr DEVICE model A_01d_tasmota_rf
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

Tueftler1983


Beta-User

OK, dann sollte es das hier tun:name:A_01d_tasmota_rf
desc:Demonstrates an option how to configure tasmota devices as RF remote control extension.<br><a href="https://forum.fhem.de/index.php/topic,99042.msg927000.html#msg927000">Forum Thread</a><br>NOTE: Sending commands is missing, you may contribute...
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd).*
par:DEVNAME;ESP's name in the topic;{ AttrVal("DEVICE","readingList","") =~ m,tele/([^/]*)/, ? $1 : undef }
attr DEVICE devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot
attr DEVICE readingList \
  tele/DEVNAME/INFO.:.* { json2nameValue($EVENT) }\
  tele/DEVNAME/RESULT:.* { $EVENT =~ m,..RfReceived....Sync..([A-Za-z0-9]+)..Low..([\d]+)..High..([\d]+)..Data...([A-Za-z0-9]+)...RfKey...([^"]+)..., ? {"Data"=>$4} : json2nameValue($EVENT) }\
  tele/DEVNAME/LWT:.* LWT\
  tele/DEVNAME/UPTIME:.* { json2nameValue($EVENT) }
attr DEVICE stateFormat <a href="http://IPAddress" target="_blank">\
LWT\
</a><br>\
Data
attr DEVICE event-on-change-reading .*
attr DEVICE model A_01d_tasmota_rf
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

Tueftler1983

Kann nur grade bei mir nix testen da mein USBstick sich verabschiedet hat auf dem alles an logs, die FHEM.cfg die.Städte
Halt alles was gespeichert wird.

Lesen geht aber schreiben nicht. Warte auf meine msata SSD. Hoffe das dann meine Probleme gelöst sind

Beta-User

Laß dir Zeit; ggf. findet sich ja auch jemand anderes, der grade sowas rumliegen hat...?
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

MichaelD.

Hallo Leute,
da ich neuling bin und mich seit einigen tagen mit mqtt2 und der rf bridge rum schlage, habe ich eine frage.
wie bekomm ich denn aus fhem eine rfcode rausgesendet?
vor der umstellung auf mqtt2 ging alles wunderbar über das tut ( https://haus-automatisierung.com/hardware/fhem/2018/03/22/fhem-tutorial-reihe-part-56-sonoff-rf-bridge.html )
die bridge ist in fhem eingebunden und ich bekomme auch die ganzen readings.

Hier der Auszug aus der raw:
Zitatdefmod BridgeSonoff MQTT2_DEVICE RF_Bridge
attr BridgeSonoff IODev Mosquitto
attr BridgeSonoff group Sonoff_Logik
attr BridgeSonoff icon mqtt
attr BridgeSonoff readingList tele/RF_Bridge/LWT:.* LWT\
cmnd/RF_Bridge/POWER:.* POWER\
cmnd/RF_Bridge/Backlog:.* Backlog\
tele/RF_Bridge/INFO1:.* { json2nameValue($EVENT) }\
tele/RF_Bridge/INFO2:.* { json2nameValue($EVENT) }\
tele/RF_Bridge/INFO3:.* { json2nameValue($EVENT) }\
tele/RF_Bridge/STATE:.* { json2nameValue($EVENT) }\
tele/RF_Bridge/UPTIME:.* { json2nameValue($EVENT) }\
tele/RF_Bridge/RESULT:.* { json2nameValue($EVENT) }\

attr BridgeSonoff room 90_Interface
attr BridgeSonoff stateFormat RfReceived_Data

setstate BridgeSonoff FFD154
setstate BridgeSonoff 2019-04-29 20:59:09 FallbackTopic cmnd/RF_Bridge_fb/
setstate BridgeSonoff 2019-04-29 20:59:09 GroupTopic sonoffs
setstate BridgeSonoff 2019-04-29 20:59:09 Hostname RF_Bridge-7543
setstate BridgeSonoff 2019-04-29 20:59:09 IPAddress 192.168.1.108
setstate BridgeSonoff 2019-05-03 09:17:27 LWT Online
setstate BridgeSonoff 2019-05-03 18:49:11 LoadAvg 19
setstate BridgeSonoff 2019-04-29 20:59:09 Module Sonoff Bridge
setstate BridgeSonoff 2019-04-29 20:59:09 POWER
setstate BridgeSonoff 2019-04-29 20:59:09 RestartReason Software/System restart
setstate BridgeSonoff 2019-05-03 18:34:56 RfReceived_Data FFD154
setstate BridgeSonoff 2019-05-03 18:34:56 RfReceived_High 530
setstate BridgeSonoff 2019-05-03 18:34:56 RfReceived_Low 210
setstate BridgeSonoff 2019-05-03 18:34:56 RfReceived_RfKey None
setstate BridgeSonoff 2019-05-03 18:34:56 RfReceived_Sync 5910
setstate BridgeSonoff 2019-05-03 18:49:11 Sleep 50
setstate BridgeSonoff 2019-05-03 18:49:11 SleepMode Dynamic
setstate BridgeSonoff 2019-05-03 18:49:11 Time 2019-05-03T17:49:11
setstate BridgeSonoff 2019-05-03 18:49:11 Uptime 3T21:50:09
setstate BridgeSonoff 2019-05-03 18:49:11 Vcc 3.458
setstate BridgeSonoff 2019-04-29 20:59:09 Version 6.4.1(sonoff)
setstate BridgeSonoff 2019-04-29 20:59:09 WebServerMode Admin
setstate BridgeSonoff 2019-05-03 18:49:11 Wifi_AP 1
setstate BridgeSonoff 2019-05-03 18:49:11 Wifi_BSSId 04:92:26:55:EE:60
setstate BridgeSonoff 2019-05-03 18:49:11 Wifi_Channel 10
setstate BridgeSonoff 2019-05-03 18:49:11 Wifi_RSSI 72
setstate BridgeSonoff 2019-05-03 18:49:11 Wifi_SSId IDO 2,4Ghz
setstate BridgeSonoff 2019-04-30 05:44:29 associatedWith MQTT2_GeneralBridge

schon mal vielen dank für eure hilfe