Einbindung eines Sonoff Basic mit Tasmota in FHEM gelingt nicht

Begonnen von Persuasiv, 23 Juni 2019, 16:33:09

Vorheriges Thema - Nächstes Thema

Persuasiv

hi,

ich habe einen Sonoff Basic mit Tasmota geflasht und mit einem Sensor verbunden. Die Einbindung in mein Netzwerk gelingt auch (Bild 1 und 2). Danach habe ich versucht diese Anleitung zu befolgen:

https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Tasmota

Mir gelingt auch die Anlage eines MQTT2_FHEM_Servers und die Modifikation eines Devices (Bild 3 und 4). Nur klappt die Kommunikation mit dem Schalter nicht. D. h. ich bekomme keine Readings und kann ihn nicht schalten.

Was mache ich falsch?

Besten Dank

LuckyDay

MQTT Host 192.168.2.114// fehlt bei dir das ist z.B. meiner
MQTT Port 1883
MQTT-Benutzer DVES_USER


MQTT Host   --> dein Host MQTT2 ?

Persuasiv

Das hat so halb funktioniert. Jetzt bekomme ich alle Readings angezeigt. Ich kann den Schalter aber immer noch nicht erfolgreich schalten. D. h. da muss noch ein Fehler sein.

DasQ

bitte keine screenshots.
ein
list devicename
hier in einen codeblock [#] verpackt, liest sich viel schöner und es steckt mehr information drin.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Persuasiv

So?

defmod MQTT2_DVES_3C10FE MQTT2_DEVICE DVES_3C10FE
attr MQTT2_DVES_3C10FE IODev MQTT2_FHEM_Server
attr MQTT2_DVES_3C10FE readingList DVES_3C10FE:tele/sonoffkitchen/STATE:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoffkitchen/LWT:.* LWT\
DVES_3C10FE:cmnd/sonoffkitchen/POWER:.* POWER\
DVES_3C10FE:tele/sonoffkitchen/UPTIME:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoffkitchen/SENSOR:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoffkitchen/INFO1:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoffkitchen/INFO2:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoffkitchen/INFO3:.* { json2nameValue($EVENT) }\
DVES_3C10FE:stat/sonoffkitchen/RESULT:.* { json2nameValue($EVENT) }\
DVES_3C10FE:stat/sonoffkitchen/STATE:.* { json2nameValue($EVENT) }\
\
DVES_3C10FE:tele/sonoff/LWT:.* LWT\
DVES_3C10FE:cmnd/sonoff/POWER:.* POWER\
DVES_3C10FE:tele/sonoff/INFO1:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoff/INFO2:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoff/INFO3:.* { json2nameValue($EVENT) }\
DVES_3C10FE:stat/sonoff/RESULT:.* { json2nameValue($EVENT) }\
DVES_3C10FE:stat/sonoff/POWER:.* POWER\
DVES_3C10FE:tele/sonoff/STATE:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoff/SENSOR:.* { json2nameValue($EVENT) }\
DVES_3C10FE:tele/sonoff/UPTIME:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_3C10FE room Schaltzentrale
attr MQTT2_DVES_3C10FE setList on cmnd/sonoff/POWER on\\
   off cmnd/sonoff/POWER off\\
   reboot cmnd/sonoff/Restart 1
attr MQTT2_DVES_3C10FE webCmd on:off:reboot

setstate MQTT2_DVES_3C10FE off
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 FallbackTopic cmnd/DVES_3C10FE_fb/
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 GroupTopic sonoffs
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 Hostname sonoff-4350
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 IPAddress 192.168.2.106
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 LWT Online
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 LoadAvg 19
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 Module Sonoff Basic
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 POWER OFF
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 RestartReason Software/System restart
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 SCD30_CarbonDioxide 631
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 SCD30_Humidity 41.7
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 SCD30_Temperature 29.6
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 SCD30_eCO2 602
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Sleep 50
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 SleepMode Dynamic
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 TempUnit C
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Time 2019-06-23T16:28:18
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Uptime 0T00:26:43
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 Version 6.5.0(release-sensors)
setstate MQTT2_DVES_3C10FE 2019-06-23 17:01:40 WebServerMode Admin
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_AP 1
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_BSSId EC:CB:30:EE:D1:69
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_Channel 1
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_Downtime 0T00:00:04
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_LinkCount 1
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_RSSI 64
setstate MQTT2_DVES_3C10FE 2019-06-23 17:28:18 Wifi_SSId aurum
setstate MQTT2_DVES_3C10FE 2019-06-23 17:03:24 state off


rudolfkoenig

Schalten geht nicht automatisch, da das Protokoll die moeglichen Befehle nicht beschreibt.
Bei MQTT2_DEVICE muss dafuer ein setList Attribut passend gesetzt werden.
Es gibt aber Hilfe per "set attrTemplate", man muss nur das richtige Garaet aus der Auswahlliste aussuchen (z.Bsp. A_01_tasmota_basic)

fExplorer

Zitat von: rudolfkoenig am 23 Juni 2019, 17:38:55
Schalten geht nicht automatisch, da das Protokoll die moeglichen Befehle nicht beschreibt.
Bei MQTT2_DEVICE muss dafuer ein setList Attribut passend gesetzt werden.
Es gibt aber Hilfe per "set attrTemplate", man muss nur das richtige Garaet aus der Auswahlliste aussuchen (z.Bsp. A_01_tasmota_basic)

Bei mir funktioniert das auch nicht!
Das Device wird automatisch angelegt und die Eigenschaften des Devices auch ausgelesen.
Aber ein
set attrTemplate A_01_tasmota_basic gelingt nicht. Es wird statt dessen das Template bzw. model A_01a_tasmota_basic_state_power1 eingestellt.
CFGFN     
   CID        DVES_C8DF9C
   DEF        DVES_C8DF9C
   DEVICETOPIC MQTT2_DVES_C8DF9C
   FUUID      5d169184-f33f-3629-058b-9f7d1fa66541a9b4
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_DVES_C8DF9C
   NR         5446
   STATE      set_off
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2019-06-29 00:20:42   state           set_off
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   model      A_01a_tasmota_basic_state_power1
   readingList tele/%prefix%/LWT:.* LWT
  tele/%prefix%/STATE:.* { json2nameValue($EVENT) }
  tele/%prefix%/SENSOR:.* { json2nameValue($EVENT) }
  tele/%prefix%/INFO.:.* { json2nameValue($EVENT) }
  stat/%prefix%/RESULT:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    off:noArg    cmnd/%prefix%/POWER1 0
  on:noArg     cmnd/%prefix%/POWER1 1
  toggle:noArg cmnd/%prefix%/POWER1 2
   setStateList on off toggle
   stateFormat POWER1

DasQ

Lösche bitte mal nochmals das device, rebootet danach FHEM neu und lass danach das device erneut anlegen. Danach bitte ein list von dem neuen device.

Dann Template zuweisen und nochmals beide list hier posten.
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

Esp-Konfiguration prüfen...
%prefix% kommt von dort. Sonst m.e. ok
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

fExplorer

Zitat von: DasQ am 29 Juni 2019, 07:51:54
Lösche bitte mal nochmals das device, rebootet danach FHEM neu und lass danach das device erneut anlegen. Danach bitte ein list von dem neuen device.

Dann Template zuweisen und nochmals beide list hier posten.

Nach Neustart:
list MQTT2_FHEM_Server
CONNECTS   1
  DEF        1883 global
  FD         17
  FUUID      5d166809-f33f-3629-3963-24f77023bd1f25cb
  NAME       MQTT2_FHEM_Server
  NR         65
  PORT       1883
  STATE      Initialized
  TYPE       MQTT2_SERVER
  READINGS:
    2019-06-29 08:42:10   RETAIN          {"tele/%prefix%/%topic%/LWT":"Online","tele/_prefix_/_topic_/LWT":"Online","tele/sonoff/LWT":"Online"}
    2019-06-29 08:42:10   nrclients       1
    2019-06-29 08:42:04   state           Initialized
  clients:
    MQTT2_FHEM_Server_192.112.24.6_17580 1
  retain:
    tele/%prefix%/%topic%/LWT:
      ts         1561790530.24617
      val        Online
    tele/_prefix_/_topic_/LWT:
      ts         1561790525.17917
      val        Online
    tele/sonoff/LWT:
      ts         1561790525.17917
      val        Online
Attributes:
  room       MQTT


list MQTT2_DVES_C8DF9C
CFGFN     
   CID        DVES_C8DF9C
   DEF        DVES_C8DF9C
   DEVICETOPIC MQTT2_DVES_C8DF9C
   FUUID      5d170843-f33f-3629-17c6-e49053565b445536
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_DVES_C8DF9C
   NR         71
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-06-29 08:42:11   LWT             Online
     2019-06-29 08:42:15   LoadAvg         19
     2019-06-29 08:42:15   POWER           OFF
     2019-06-29 08:42:15   Sleep           50
     2019-06-29 08:42:15   SleepMode       Dynamic
     2019-06-29 08:42:15   Time            2019-06-29T07:42:14
     2019-06-29 08:42:15   Uptime          0T09:15:19
     2019-06-29 08:42:15   Vcc             3.161
     2019-06-29 08:42:15   Wifi_AP         1
     2019-06-29 08:42:15   Wifi_BSSId      50:C7:BF:52:A3:C2
     2019-06-29 08:42:15   Wifi_Channel    11
     2019-06-29 08:42:15   Wifi_Downtime   0T00:00:06
     2019-06-29 08:42:15   Wifi_LinkCount  1
     2019-06-29 08:42:15   Wifi_RSSI       28
     2019-06-29 08:42:15   Wifi_SSId       mywlan
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList DVES_C8DF9C:tele/%prefix%/%topic%/LWT:.* LWT
DVES_C8DF9C:cmnd/%prefix%/%topic%/POWER:.* POWER
DVES_C8DF9C:tele/%prefix%/%topic%/STATE:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE


Nach set attrTemplate A_01_tasmota_basic
list MQTT2_DVES_C8DF9C
CFGFN     
      CID        DVES_C8DF9C
      DEF        DVES_C8DF9C
      DEVICETOPIC MQTT2_DVES_C8DF9C
      FUUID      5d170843-f33f-3629-17c6-e49053565b445536
      IODev      MQTT2_FHEM_Server
      NAME       MQTT2_DVES_C8DF9C
      NR         71
      STATE      POWER1
      TYPE       MQTT2_DEVICE
      OLDREADINGS:
      READINGS:
   Attributes:
      IODev      MQTT2_FHEM_Server
      autocreate 0
      model      A_01a_tasmota_basic_state_power1
      readingList tele/%prefix%/LWT:.* LWT
     tele/%prefix%/STATE:.* { json2nameValue($EVENT) }
     tele/%prefix%/SENSOR:.* { json2nameValue($EVENT) }
     tele/%prefix%/INFO.:.* { json2nameValue($EVENT) }
     stat/%prefix%/RESULT:.* { json2nameValue($EVENT) }
      room       MQTT2_DEVICE
      setList    off:noArg    cmnd/%prefix%/POWER1 0
     on:noArg     cmnd/%prefix%/POWER1 1
     toggle:noArg cmnd/%prefix%/POWER1 2
      setStateList on off toggle
      stateFormat POWER1

DasQ

Bitte ein Screenshot von deim tasmota, Konfiguration MQTT

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

fExplorer

Zitat von: DasQ am 29 Juni 2019, 09:03:31
Bitte ein Screenshot von deim tasmota, Konfiguration MQTT
Ich habe die IP bei Hosteingetragen.

DasQ

da ist dein problem,

das %prefix% hat beim topic nix verlohren (müsst mich schon schwer täuschen, wenn das original so ist)

Zitat von: Beta-User am 29 Juni 2019, 08:10:15
Esp-Konfiguration prüfen...
%prefix% kommt von dort. Sonst m.e. ok
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

fExplorer

Zitat von: DasQ am 29 Juni 2019, 09:59:32
da ist dein problem,

das %prefix% hat beim topic nix verlohren (müsst mich schon schwer täuschen, wenn das original so ist)
Hallo ich habe das geändert weil es im Wiki heißt
https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele
in der MQTT-Konfiguration der tasmota-Geräte für den Parameter topic = %topic% (sonoff) ebenfalls die dynamisch aus der Chip-ID erzeugte Kennung DVES_%06X zu verwenden. Hierzu kann einfach die unter client (DVES_8BABA9) zu findende Angabe kopiert werden.

Sehe aber gerade, dass es heissen müsste DVES_%06X
allerdings führt das nicht zum Erfolg

fExplorer

Sehe aber gerade, dass es heissen müsste DVES_%06X
allerdings führt das nicht zum Erfolg
[/quote]

Ich korrigiere mich. Nach erneutem löschen des Device, Neustart von fhem, scheint es jetzt zu klappen.

Vielen Dank für Deine Mühe und Hilfe!