TASMOTA_DEVICE readings ja, aber set geht nicht

Begonnen von Tueftler1983, 22 März 2019, 22:17:26

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo habe grade 4 Gosund SP1 mit Tasmota in FHEM angelegt.
Die Readings kommen alle rein aber sobald ich einen Set Befehl ausführe, startet FHEM neu. Und der set Befehl wird auch nicht ausgeführt.

Im log steht dann das...
2019.03.22 22:06:11 5: set off - value:
Undefined subroutine &TASMOTA::DEVICE::send_publish called at ./FHEM/10_TASMOTA_DEVICE.pm line 185.


Kann damit jemand was anfangen und Helfen???

OdfFhem

Ich bin mir nicht sicher, ob 10_TASMOTA_DEVICE.pm noch gepflegt wird. Im Zweifel solltest Du die Tasmota-Geräte direkt über MQTT2 einbinden ...

s.a. https://forum.fhem.de/index.php/topic,92947.msg856456.html#msg856456

Beta-User

@Tueftler1983:
Ist das dein Einstieg in MQTT?

Wenn ja, würde ich ebenfalls MQTT2_SERVER statt mosquitto vorschlagen, das funktioniert problemlos. Als Infoquelle ist aber m.E. das Wiki (Praxisbeispiele zu MQTT2_DEVICE) besser, da viel aktueller (hört sich blöd an, da der von OdFhem verlinkte Thread grade mal 14 Wochen alt ist, ist aber so...)

Es gibt auch jede Menge attrTemplates zu tasmota, damit kann man in der Regel v.a. die Senderichtung auch komfortabel konfigurieren, FHEM-Konforme Readinginhalte erhalten...

TASMOTA_DEVICE kommt von "extern", warum das ggf. "kaputt" ist, kann ich nicht sagen, das hängt aber evtl. auch mit Änderungen in Meta.pm zusammen. Bei Bedarf dort nachfragen, wo du es her hast, ist "third party" und wird nicht via svn verteilt...
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

Tueftler1983

Ich habe bis jetzt nur die 4 Gosund SP1 und einen sonoff RFBridge die über MQTT in FHEM angebunden sind. Als Broker habe ich Moskito definiert.
Die Readings kommen alle rein das ist kein Problem aber sobald ich einen Set Befehl auf einem der Gosund ausführen startet FHEM neu.

Beta-User

Zitat von: Beta-User am 23 März 2019, 07:47:12
Wenn ja, würde ich ebenfalls MQTT2_SERVER statt mosquitto vorschlagen, das funktioniert problemlos. [...]
Was hindert dich also?

(Du kannst auch MQTT2_CLIENT an den mosquitto hängen, wenn du irgendwie an dem hängst...)

Kaputte externe Module repariere jedenfalls ich nicht, oder was war dein Anliegen mit "...kein Problem..."?
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

Tueftler1983

Phuh,
jetzt muss ich erstmal ne gescheite Anleitung finden wie ich von meinem vorhandenen broker Moskito und den tasmota_device Wechsel zu mqtt2.
Kennt da jemand ne gute Anleitung? Habe mir grade das wiki zu mqtt2 angeschaut aber das war nicht so das ich sagte das setze ich mal schnell um.

Beta-User

Wenn du mit zusätzlichen Devices gut leben kannst:

MQTT2_CLIENT definieren
dort autocreate auf simple setzen.

Wiki zu MQTT2_CLIENT lesen.

General-Bridge-Device per template erstellen (Achtung: die Hilfe, die bei "set <mqtt2-device> attrTemplate ?" kommt ist aktueller als das Wiki, wenn FHEM auf dem allerletzten Stand ist!) Das template erstellt jetzt direkt eine Kopie, die befindet sich im selben Raum wie das MQTT2_CLIENT-Device (der letzte Teil dieses Teils  der Anleitung wird morgen vermutlich wieder anders sein, da ich grade an dem template bzw. der Art und Weise, wo das Device hinkommt rumbastle...)

Dann schlicht warten, es sollten alle deine tasmota-Geräte automatisch erstellt werden.

Darauf dann die jeweils passenden templates anwenden.

Solldauer der Aktion: <1,5 h.
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

Tueftler1983

Und wie muss dann in den Gosund die MQTT konfig aussehen?
Sorry das ich so dumm Frage bin einer der am besten mit Bilder schritt für schritt Anleitungen arbeiten kann

Beta-User

So richtig verstehe ich die Frage nicht...

Also: der ESP ist jeweils mit tasmota geflasht und "spricht" auch schon mit dem mosquitto (alle unter einem eigenen, eindeutigen Namen)?
Dann brauchst du "wegen MQTT2" nix spezielles (und es ist m.E. auch egal, welches tasmota-interne template (hier: Gosund...) ausgewählt ist). MQTT2_CLIENT abonniert per default "alles", und das General-Bridge-Device macht daraus dann wieder Einzel-Devices; mit den default-Einstellungen an den tasmotas sollte das ohne weiteres klappen, wobei ich es zwischenzeitlich - jedenfalls als vorläufige Meinung - am besten finde, den Topic im der tasmota-Webinterface auf DVES_%06X zu stellen. Das dürfte auch am wenigsten "Hackel" geben, wenn du mal auf MQTT2_SERVER umstellen willst, weil dann alle das Device und die topic-Struktur angehenden Infos einheitlich sind).

Einen sinnvollen Namen kannst du dann unter FHEM für das jeweilige MQTT2_DEVICE vergeben (meine Meinung).
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

Tueftler1983

Hallo an dem teil hakt es bei mir. Verstehe nicht was ich da wirklich machen muss.

ZitatGeneral-Bridge-Device per template erstellen (Achtung: die Hilfe, die bei "set <mqtt2-device> attrTemplate ?" kommt ist aktueller als das Wiki, wenn FHEM auf dem allerletzten Stand ist!) Das template erstellt jetzt direkt eine Kopie, die befindet sich im selben Raum wie das MQTT2_CLIENT-Device (der letzte Teil dieses Teils  der Anleitung wird morgen vermutlich wieder anders sein, da ich grade an dem template bzw. der Art und Weise, wo das Device hinkommt rumbastle...)

Beta-User

Also:
FHEM-update machen (es gab größere Änderungen gestern).

Ich gehe davon aus, dass du ein MQTT2-Device von autocreate erstell bekommen hast?

Darauf wendest du das template "A_00_MQTT2_CLIENT_general_bridge" an (set <device> attrTemplate A_00_MQTT2_CLIENT_general_bridge).

Dann schlicht warten, bis weitere tasmota-Geräte erstellt werden :) ...

Das sollte es im wesentlichen schon gewesen sein
Die neuen Geräte dann ggf. auch mit templates "beglücken". Aber Achtung: die tasmota-templates aus mqtt2.template stellen den ESP8266 auf Kleinschreibung bei on/off etc. um! Solltest das also bei deinem Altbestand dann jeweils nur machen, wenn du die angrenzende Logik auch anfassen kannst/willst.
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

Tueftler1983

Hmm soweit so gut aber neue Geräte also weder die 4 Gosund noch die Sonoff RFbridge wird angelegt. Anbei zwei Screenshots.
Der erste vom MQTT2_DEVICE und der 2. von einem der Gosund MQTT einstellungen

Beta-User

Hmmm, hattest du ein update von FHEM gemacht, bevor du das template angewendet hattest?

Das sieht für mich nach dem Ergebnis nach Anwendung einer Vorversion aus.

Wäre nett, wenn du mir zu dem update-Thema eine Rückmeldung geben könntest, dann kann ich ggf. das Problem fixen, das hier dahinterstand (wenn es eines gibt).

PS: hättest du von dem MQTT2-Device ein list/bzw. besser: eine RAW-Definigion geliefert, hätte ich gestern auf dem Handy antworten können, aber damit kann ich Bilder nicht sinnvoll ansehen...
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

Tueftler1983

Hallo, ich hatte bevor ich MQTT2 angefangen habe ein update in FHEM gemacht. Hier ein list vom MQTT2_DEVICE
Internals:
   CID        MQTT2Client
   DEF        MQTT2Client
   DEVICETOPIC MQTT2_MQTT2Client
   FUUID      5c964692-f33f-16cd-52b9-be485bdf04c51e5c
   IODev      MQTT2_Client
   LASTInputDev MQTT2_Client
   MQTT2_Client_MSGCNT 10764
   MQTT2_Client_TIME 2019-03-25 08:36:50
   MSGCNT     10764
   NAME       MQTT2_MQTT2Client
   NR         404
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-03-25 08:36:50   ENERGY_ApparentPower 10
     2019-03-25 08:36:50   ENERGY_Current  0.043
     2019-03-25 08:36:50   ENERGY_Factor   0.01
     2019-03-25 08:36:43   ENERGY_Period   0
     2019-03-25 08:36:50   ENERGY_Power    0
     2019-03-25 08:36:50   ENERGY_ReactivePower 10
     2019-03-25 08:36:50   ENERGY_Today    0.001
     2019-03-25 08:36:50   ENERGY_Total    0.002
     2019-03-25 08:36:50   ENERGY_TotalStartTime 2019-03-22T15:29:09
     2019-03-25 08:36:50   ENERGY_Voltage  240
     2019-03-25 08:36:50   ENERGY_Yesterday 0.001
     2019-03-24 14:21:33   FallbackTopic   cmnd/DVES_C3EDD0_fb/
     2019-03-24 14:21:33   GroupTopic      sonoffs
     2019-03-24 14:21:33   Hostname        Trockner-3536
     2019-03-24 14:21:33   IPAddress       192.168.2.36
     2019-03-25 07:59:14   LWT             Online
     2019-03-25 08:36:43   LoadAvg         19
     2019-03-24 14:21:33   Module          Gosund SP1 v23
     2019-03-25 08:36:43   POWER           ON
     2019-03-24 14:21:33   RestartReason   Software/System restart
     2019-03-25 08:08:30   RfReceived_Data 100401
     2019-03-25 08:08:30   RfReceived_High 930
     2019-03-25 08:08:30   RfReceived_Low  330
     2019-03-25 08:08:30   RfReceived_RfKey None
     2019-03-25 08:08:30   RfReceived_Sync 10600
     2019-03-25 08:36:43   Sleep           50
     2019-03-25 08:36:43   SleepMode       Dynamic
     2019-03-25 08:36:50   Time            2019-03-25T08:36:50
     2019-03-25 08:36:43   Uptime          1T19:37:31
     2019-03-25 08:36:43   Vcc             3.174
     2019-03-24 14:21:33   Version         6.5.0(release-sonoff)
     2019-03-24 14:21:33   WebServerMode   Admin
     2019-03-25 08:36:43   Wifi_AP         2
     2019-03-25 07:48:51   Wifi_APMac      C8:0E:14:55:25:98
     2019-03-25 08:36:43   Wifi_BSSId      C8:0E:14:55:25:98
     2019-03-25 08:36:43   Wifi_Channel    11
     2019-03-25 08:36:43   Wifi_Downtime   0T00:00:07
     2019-03-25 08:36:43   Wifi_LinkCount  1
     2019-03-25 08:36:43   Wifi_RSSI       36
     2019-03-25 08:36:43   Wifi_SSId       FRITZ!Box 6360 Cable Holger
Attributes:
   IODev      MQTT2_Client
   autocreate 1
   bridgeRegexp (tele|cmnd)[/]([^/]+)[/].*:.* "$2"
  shellies[/]([^/]+)[/].*:.* "$1"
  (ESPClient_[^/]+)[/].*:.* "$1"
   comment    Do not use very open bridgeRegexp expressions! This might lead to irritating results...
   model      A_00_MQTT2_CLIENT_general_bridge
   readingList MQTT2Client:/SmartHome/Interface/Garten/tele/STATE:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Garten/tele/SENSOR:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Bridge/tele/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/tele/sonoff/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/Garten/tele/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/Spuelmaschine/tele/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/Waschmaschine/tele/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/Trockner/tele/LWT:.* LWT
MQTT2Client:/SmartHome/Interface/Waschmaschine/tele/SENSOR:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Waschmaschine/tele/STATE:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Trockner/tele/SENSOR:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Trockner/tele/STATE:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Spuelmaschine/tele/STATE:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Spuelmaschine/tele/SENSOR:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Bridge/tele/RESULT:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Garten/tele/UPTIME:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Waschmaschine/tele/UPTIME:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Trockner/tele/UPTIME:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Spuelmaschine/tele/UPTIME:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Bridge/tele/UPTIME:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Bridge/tele/STATE:.* { json2nameValue($EVENT) }
MQTT2Client:/SmartHome/Interface/Garten/cmnd/POWER:.* POWER
MQTT2Client:/SmartHome/Interface/Waschmaschine/cmnd/POWER:.* POWER
MQTT2Client:/SmartHome/Interface/Spuelmaschine/cmnd/POWER:.* POWER
MQTT2Client:/SmartHome/Interface/Trockner/cmnd/POWER:.* POWER
   room       MQTT2_DEVICE
   setStateList on off

Hoffe ich kann damit weiter helfen, bis jetzt wurde nur ein device angelegt mit dem ich nicht wirklich was anfangen kann was es ist. Davon auch ein list.
Internals:
   CID        sonoff
   DEF        sonoff
   DEVICETOPIC MQTT2_sonoff
   FUUID      5c9784da-f33f-16cd-9f76-60b9b4a50aa6e41c
   IODev      MQTT2_Client
   LASTInputDev MQTT2_Client
   MQTT2_Client_MSGCNT 2
   MQTT2_Client_TIME 2019-03-25 02:06:28
   MSGCNT     2
   NAME       MQTT2_sonoff
   NR         406
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2019-03-25 02:06:28   LWT             Online
     2019-03-24 14:23:40   associatedWith  MQTT2_MQTT2Client
Attributes:
   IODev      MQTT2_Client
   readingList tele/sonoff/LWT:.* LWT
   room       MQTT2_DEVICE

Beta-User

Hmm, also bist du jetzt auf dem update-Stand (jeweils nach 8:00 Uhr) von Sa. oder So.?
Das Zwischenergebnis würde zu Sa. passen...

Mach' nochmal ein update, wende auf das Device MQTT2_MQTT2Client das genannte 00...-template nochmal an und lösche dann hinterher entweder das Device MQTT2_MQTT2Client ganz oder zumindest das bridgeRegexp-Attribut da (die readingList sollte das template löschen, wenn nicht, auch diese, das verhindert nämlich das Anlegen der weiteren Devices...).

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