Hallo,
ich habe 2 weitere Sonoff Steckdosen in FHEM mittels MQTT eingebunden, wovon ich die Sonoff4 per "copy Sonoff3 Sonoff4"
erstellt habe. Danach ändere ich alle Werte von Sonoff3 auf Sonoff4. Leider werden dabei die "subscribe"-Werte nur
hinzugefügt aber nicht gelöscht.
nternals:
CFGFN
IODev mqtt
NAME sonoff4
NR 15086
STATE OFF
TYPE MQTT_DEVICE
qos *:0
retain *:1
READINGS:
2018-12-30 15:37:47 state OFF
2018-12-30 15:37:47 transmission-state incoming publish received
message_ids:
publishSets:
:
topic cmnd/sonoff4/power
values:
ON
OFF
sets:
OFF
ON
subscribe:
stat/sonoff3/POWER
stat/sonoff4/POWER
subscribeExpr:
^stat\/sonoff3\/POWER$
^stat\/sonoff4\/POWER$
subscribeQos:
stat/sonoff3/POWER 0
stat/sonoff4/POWER 0
subscribeReadings:
stat/sonoff3/POWER:
cmd
name state
stat/sonoff4/POWER:
cmd
name state
Attributes:
IODev mqtt
devStateIcon ON:general_an@green OFF:general_aus@red
group Licht
icon hue_filled_outlet
mqttSubscribe stat/sonoff4/POWER
publishSet ON OFF cmnd/sonoff4/power
qos at-most-once
retain 1
room EG
stateFormat state
subscribeReading_state stat/sonoff4/POWER
webCmd ON:OFF
Die Sonoffs schalten zwar einzeln. Der Status von Sonoff4 wechselt aber auch dann, wenn ich nur die Sonoff3 anspreche.
Ich kann die Werte aber auch nicht überschreiben bzw. löschen.
Fhem neustarten.
Ggf. über einen Einsatz von MQTT_GENERIC_BRIDGE und mqtt2-Module nachdenken.
"reload MQTT_DEVICE" sollte es auch tun...
Danke hat funktioniert.
Ich hab mich jetzt mal etwas mit MQTT2 auseinandergesetzt, aber schlau bin ich aus dem Wiki nicht geworden. Zuviel auf einmal mit MQTT, MQTT2_CLIENT,MQTT2_SERVER sowie MQTT_GENERAL_BRIDGE
Ich bin jetzt am überlegen auf MQTT2_SERVER umzusteigen. Das scheint die einfachere Variante zu sein. Obwohl ich gerne den Mosquitto auf meiner Synology behalten hätte.
Beim Anlegen des Servers erhalte ich allerdings folgende Fehlermeldung:
Can't open server port at 1883: Die angeforderte Adresse kann nicht zugewiesen werden.
Außerdem ist mir noch klar wozu die GENERIC_BRIDGE benötigt wird?
ZitatCan't open server port at 1883: Die angeforderte Adresse kann nicht zugewiesen werden.
Vermutlich belegt mosquitto diesen Port.
ZitatAußerdem ist mir noch klar wozu die GENERIC_BRIDGE benötigt wird?
Damit kann man beliebige Geraete in FHEM mit Nachrichten ueber MQTT versorgen, oder die Events dieser Geraete per MQTT weitergeben um z.Bsp. FHEM mit einem anderen Hausautomationsystem zu verbinden.
Danke! War tatsächlich noch mosquitto auf dem pi installiert. Hab ich jetzt deinstalliert und die mqttt IP der sonoffs auf den pi mit 192.168.2.53 umgestellt
Einstellung im Sonoff1:
MQTT Host 192.168.2.53
MQTT Port 1883
MQTT client &
Fallback-Topic DVES_101B27
MQTT-Benutzer DVES_USER
MQTT topic sonoff1
MQTT group topic sonoffs
MQTT full topic cmnd/sonoff1/
Dann den Server definiert:
Internals:
CFGFN
CONNECTS 3
DEF 1883 global
FD 139
NAME mqtt2srv
NR 1109
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2018-12-31 13:07:39 RETAIN {"tele/sonoff3/LWT":"Online","tele/sonoff5/LWT":"Online"}
2018-12-31 13:07:39 nrclients 1
2018-12-31 12:47:44 state Initialized
clients:
mqtt2srv_192.168.2.61_6802 1
mqtt2srv_192.168.2.99_6606 1
retain:
tele/sonoff3/LWT:
ts 1546258059.62628
val Online
tele/sonoff5/LWT:
ts 1546256875.03021
val Online
Attributes:
room MQTT
Die Geräte wurden per Autocreate erstellt und hab ich dann auf sonoff1 bis sonoff6 umbenannt:
Internals:
CID DVES_101B27
DEF DVES_101B27
DEVICETOPIC sonoff1
IODev mqtt2srv
LASTInputDev mqtt2srv
MSGCNT 18
NAME sonoff1
NR 882
STATE OFF
TYPE MQTT2_DEVICE
mqtt2client_MSGCNT 1
mqtt2client_TIME 2018-12-31 12:28:37
mqtt2srv_MSGCNT 17
mqtt2srv_TIME 2018-12-31 13:22:37
OLDREADINGS:
READINGS:
2018-12-31 13:22:37 LoadAvg 19
2018-12-31 13:22:37 POWER OFF
2018-12-31 13:22:37 Sleep 50
2018-12-31 13:22:37 SleepMode Dynamic
2018-12-31 13:22:37 Time 2018-12-31T13:22:37
2018-12-31 13:22:37 Uptime 0T01:11:36
2018-12-31 13:22:37 Vcc 3.208
2018-12-31 13:22:37 Wifi_AP 1
2018-12-31 13:22:37 Wifi_BSSId 88:25:2C:6F:7E:7A
2018-12-31 13:22:37 Wifi_Channel 4
2018-12-31 13:22:37 Wifi_RSSI 44
2018-12-31 13:22:37 Wifi_SSId Eifelturm
2018-12-31 13:17:54 state set_off
Attributes:
IODev mqtt2srv
alias Heizluefter
autocreate 0
devStateIcon off:sani_heating_level_0@blue on:sani_heating_level_0 .*:sani_heating_level_100@red .*:sani_heating_level_100
eventMap { dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
group Gartenhaus
icon sani_heating
model A_01_tasmota_basic
readingList tele/sonoff1/LWT:.* LWT
tele/sonoff1/STATE:.* { json2nameValue($EVENT) }
tele/sonoff1/SENSOR:.* { json2nameValue($EVENT) }
tele/sonoff1/INFO.:.* { json2nameValue($EVENT) }
stat/sonoff1/RESULT:.* { json2nameValue($EVENT) }
room Garten,MQTT2_DEVICE
setList off:noArg COMMAND/POWER 0
on:noArg COMMAND/POWER 1
toggle:noArg COMMAND/POWER 2
setStateList on off toggle
stateFormat POWER
Jetzt geht allerdings gar nichts mehr. Die Geräte schalten nicht über fhem, über tasmota und Alexa schon.
Ist das umbenennen ein Problem oder wo liegt der Fehler begraben?
Das Sonoff-Template ist zZt. wohl kaputt, das wird gerade in dem anderen Thema diskutiert: https://forum.fhem.de/index.php/topic,94434.msg879357.html#msg879357