MQTT2 Device - Schalter realisieren und Verbindung mit Name:Passwort sichern

Begonnen von stonev, 29 Januar 2019, 13:17:22

Vorheriges Thema - Nächstes Thema

stonev

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?





Beta-User

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".
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

stonev

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.