Ich habe einen Wemos D1 mini mit Tasmota geflasht und ein Relais, sowie nen Sensor dran. Läuft soweit auch einwandfrei.
In Fhem habe ich einen MQTT2 Server eingerichtet. List:
Internals:
CONNECTS 1
DEF 1883 global
FD 9
FUUID 5c4e1069-f33f-d066-448c-1972bae8b308b4d8
NAME MQTT2server
NR 49
PORT 1883
STATE Initialized
TYPE MQTT2_SERVER
READINGS:
2019-01-29 12:05:59 RETAIN {"tele/Wemos-Garage/LWT":"Online"}
2019-01-29 12:05:59 nrclients 1
2019-01-29 12:05:49 state Initialized
clients:
MQTT2server_192.168.1.90_61693 1
retain:
tele/Wemos-Garage/LWT:
ts 1548759959.5231
val Online
Attributes:
autocreate 1
room MQTT2
verbose 5
Der Wemos wurde als Device erkannt und die Readings sind da. List:
Internals:
CID DVES_25823333
DEF DVES_25823333
DEVICETOPIC Wemos_Garage
FUUID 5c4e1923-f33f-d066-e5d7-26cd9515c4e7f9f0
IODev MQTT2server
LASTInputDev MQTT2server
MQTT2server_MSGCNT 27
MQTT2server_TIME 2019-01-29 13:05:22
MSGCNT 27
NAME Wemos_Garage
NR 50
STATE T: 10.0 H: 70.4 Fan: OFF
TYPE MQTT2_DEVICE
Helper:
DBLOG:
humidity:
logdb:
TIME 1548763522.95742
VALUE 70.4
temperature:
logdb:
TIME 1548763522.95742
VALUE 10.0
READINGS:
2019-01-29 12:05:59 LWT Online
2019-01-29 13:05:22 LoadAvg 19
2019-01-29 13:05:22 POWER OFF
2019-01-29 13:05:22 SHT1X_Humidity 70.4
2019-01-29 13:05:22 SHT1X_Temperature 10.0
2019-01-29 13:05:22 Sleep 50
2019-01-29 13:05:22 SleepMode Dynamic
2019-01-29 13:05:22 TempUnit C
2019-01-29 13:05:22 Time 2019-01-29T13:05:23
2019-01-29 13:05:22 Uptime 0T22:45:28
2019-01-29 13:05:22 Vcc 3.038
2019-01-29 13:05:22 Wifi_AP 1
2019-01-29 13:05:22 Wifi_BSSId 08:96:D7:DB:89:52
2019-01-29 13:05:22 Wifi_Channel 6
2019-01-29 13:05:22 Wifi_RSSI 74
2019-01-29 13:05:22 Wifi_SSId Stones
2019-01-29 13:05:22 humidity 70.4
2019-01-29 13:01:18 state off
2019-01-29 13:05:22 temperature 10.0
Attributes:
IODev MQTT2server
alias Wemos Garage
readingList DVES_25823333:tele/Wemos-Garage/LWT:.* LWT
DVES_25823333:cmnd/Wemos-Garage/POWER:.* POWER
DVES_25823333:tele/Wemos-Garage/INFO1:.* { json2nameValue($EVENT) }
DVES_25823333:tele/Wemos-Garage/INFO2:.* { json2nameValue($EVENT) }
DVES_25823333:tele/Wemos-Garage/INFO3:.* { json2nameValue($EVENT) }
DVES_25823333:stat/Wemos-Garage/RESULT:.* { json2nameValue($EVENT) }
DVES_25823333:stat/Wemos-Garage/POWER:.* POWER
DVES_25823333:tele/Wemos-Garage/STATE:.* { json2nameValue($EVENT) }
DVES_25823333:tele/Wemos-Garage/SENSOR:.* { json2nameValue($EVENT) }
DVES_25823333:tele/Wemos-Garage/UPTIME:.* { json2nameValue($EVENT) }
room MQTT2
setList on cmnd/Wemos_Garage_Fan/Power on
off cmnd/Wemos_Garage_Fan/Power off
stateFormat T: temperature H: humidity Fan: POWER
userReadings temperature { ReadingsVal("Wemos_Garage","SHT1X_Temperature",0) }, humidity { ReadingsVal("Wemos_Garage","SHT1X_Humidity",0) }
webCmd on:off
1. Problem
Den Schalter hab ich versucht mit
setList on cmnd/Wemos_Garage_Fan/Power on
off cmnd/Wemos_Garage_Fan/Power off
und
webCmd on:off
Das ganze funktioniert auch auch in de Form, dass der State des Device zwischen on:off wechselt. Es hat nur leider keinerlei Auswirkung auf den Wemos. Das Reading "POWER" bleibt stur bei "off".
Jemand eine Idee, was ich hier falsch gemacht habe?
2. Problem:
Die Wlan Verbindung wollte ich zumindest per User:Pass sichern. In der CommandRef heißt es zum MQTT2:
to set user/password use an allowed instance and its basicAuth feature (set/attr)
Ich finde aber weder im Server noch im Device das attr basicAuth??? Eigentlich sollte es doch beim Device zu finden sein?
Ad 1: Warum ist das set-Topic von anders als das Reading-Topic?
Logischer wäre für mich:
setList on cmnd/Wemos-Garage/Power on
off cmnd/Wemos-Garage/Power off
Ad 2.: bei "allowed" handelt es sich ausweislich der zitierten cref um "eine Instanz", also ein eigenes Device; siehe "help allowed".
Zitat von: Beta-User am 29 Januar 2019, 13:40:09
Ad 1: Warum ist das set-Topic von anders als das Reading-Topic?
Logischer wäre für mich:
setList on cmnd/Wemos-Garage/Power on
off cmnd/Wemos-Garage/Power off
Ich hatte vorher schon ein wenig damit gespielt. Hatte schon den Devicenamen Wemos_Garage erfolglos an dieser Stelle geschrieben.
Mir war nicht aufgefallen, dass ich das Device in Tasmota Wemos-Garage - also mit Bindestrich statt Unterstrich - geschrieben habe. So taucht es auch in den Readings auf. Habe es nun mit Bindestrich geschrieben und es funktioniert. Der Teufel ist ein Eichhörnchen ... manchmal auch ein Bindestrich ;D
Das mir dem eigenen Device bei Allowed hatte ich nicht geschnallt. Danke für den Hinweis, damit sollte ich weiterkommen.