[Bugs] 00_MQTT2_SERVER / 10_MQTT2_DEVICE

Begonnen von betateilchen, 10 August 2018, 18:01:33

Vorheriges Thema - Nächstes Thema

schwatter

Ok, verstanden. Habe es oben angepasst.

ThoTo

Zitat von: rudolfkoenig am 23 August 2018, 20:01:19
state wird nicht gesetzt, es sei denn der Benutzer hat es konfiguriert.

Ich habe heute geupdatet und beobachte dass das State-Reading mit dem letzten Set aktualisiert wird - trotz stat/$DEVICETOPIC/POWER:.* state im Attribut readingList.

Das war in der "alten" Version der Module nicht der Fall.
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

rudolfkoenig

@ThoTo: Stimmt, ich habs ja auf Wunsch geaendert und in diesem Thread dokumentiert. Falls man es anders haben will: Status in einem anderen Reading schreiben, und stateFormat verwenden.

@schwatter: ist eigentlich ein Thema fuer JsonList2: \n und " soll wohl in JSON nicht mit \u000a und \u0022 dargestellt werden sondern als \n und \".
Finde ich etwas kleinkariert, aber ich habs jetzt geaendert.

ThoTo

Zitat von: rudolfkoenig am 30 August 2018, 15:05:37
@ThoTo: Stimmt, ich habs ja auf Wunsch geaendert und in diesem Thread dokumentiert. Falls man es anders haben will: Status in einem anderen Reading schreiben, und stateFormat verwenden.

Ich hab's überlesen.... Danke, alles gut  8) 8)

LG Thomas
KNX | MQTT | Docker | Sonos | FHEMapp

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher." (Albert Einstein)

schwatter

#124
@rudolfkoenig

Danke für das anpassen bezüglich Jsonlist2. Ich bin leider noch nicht so lange bei Fhem, das ich bemerkt hätte,
das Jsonlist ausläuft und nur noch Jsonlist2 weiter supportet wird. Da muss ich einiges nachholen und wohl
bei mir anpassen.

edit:

Vielleicht hat wer einen Tip zu Jsonlist2, ich bekomme keine Werte zurück. Bitte dazu hier Antworten.

https://forum.fhem.de/index.php/topic,33280.0.html

arran

Hallo zusammen,

Ich habe meine Gosund Steckdosen wie im Beitrag #119 mit MQTT2 in Fhem eingebunden. Das Schalten aus Fhem klappt ohne Probleme. Wenn die Steckdose über den Knopf Ein/Aus geschaltet wird kommt das in der Statusanzeige von Fhem nicht an. Hat jemand eine Idee wie das behoben werden kann?

Vielen Dank,


Gesendet von iPhone mit Tapatalk
Cubietruck
HM_LAN_CFG, HM_CC_RT_DN, HM_SEC_RHS, nanoCUL 433, GT-WT-02, Revolt NC-5461, m-FS300

rudolfkoenig

Kannst du bitte die "Raw definition" vom Geraet hier anhaengen, und den Inhalt des Event-Monitors beim Schalten der Steckdose?

arran

Hi,

Ich bin jetzt in der Arbeit aber heute Abend poste ich die Daten... Du meinst ,,list device" oder?

Gruß,


Gesendet von iPhone mit Tapatalk
Cubietruck
HM_LAN_CFG, HM_CC_RT_DN, HM_SEC_RHS, nanoCUL 433, GT-WT-02, Revolt NC-5461, m-FS300

Matze66

Hi,

In der Konsole des Tasmotadevice folgendes ausführen:

StateText1 off
StateText2 on
StateText3 toggle

SamNitro

Zitat von: arran am 03 September 2018, 10:52:08
Hallo zusammen,

Ich habe meine Gosund Steckdosen wie im Beitrag #119 mit MQTT2 in Fhem eingebunden. Das Schalten aus Fhem klappt ohne Probleme. Wenn die Steckdose über den Knopf Ein/Aus geschaltet wird kommt das in der Statusanzeige von Fhem nicht an. Hat jemand eine Idee wie das behoben werden kann?

Ich mache es mit:

attr <DEVICE> stateFormat POWER
attr <DEVICE> eventMap on:ON off:OFF

(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

rudolfkoenig

ZitatDu meinst ,,list device" oder?
Nein, entweder "list -r device", oder in FHEMWEB, DetailAnsicht, unten, Raw Definition (was list -r ausfuehrt)

arran

#131
Zitat von: rudolfkoenig am 03 September 2018, 13:39:26
Nein, entweder "list -r device", oder in FHEMWEB, DetailAnsicht, unten, Raw Definition (was list -r ausfuehrt)

Hallo,

hiermit die raw Ausgabe:


define GosundST1 MQTT2_DEVICE DVES_93A82B
attr GosundST1 IODev m2s
attr GosundST1 alias GsdST1
attr GosundST1 devStateIcon on:rc_GREEN off:rc_RED offline:rc_BLUE reboot:rc_YELLOW
attr GosundST1 icon message_socket
attr GosundST1 readingList DVES_93A82B:tele/sonoff/LWT:.* LWT\
DVES_93A82B:cmnd/sonoff/POWER:.* POWER\
DVES_93A82B:tele/sonoff/INFO1:.* { json2nameValue($EVENT) }\
DVES_93A82B:tele/sonoff/INFO2:.* { json2nameValue($EVENT) }\
DVES_93A82B:tele/sonoff/INFO3:.* { json2nameValue($EVENT) }\
DVES_93A82B:stat/sonoff/RESULT:.* { json2nameValue($EVENT) }\
DVES_93A82B:stat/sonoff/POWER:.* POWER\
DVES_93A82B:tele/sonoff/STATE:.* { json2nameValue($EVENT) }\
DVES_93A82B:tele/sonoff/SENSOR:.* { json2nameValue($EVENT) }\
DVES_93A82B:tele/sonoff/LWT:.* LWT\
DVES_93A82B:tele/sonoff/UPTIME:.* { json2nameValue($EVENT) }\
DVES_93A82B:stat/DVES_93A82B/RESULT:.* { json2nameValue($EVENT) }\
DVES_93A82B:stat/DVES_93A82B/POWER:.* POWER\
DVES_93A82B:stat/sonoff/UPGRADE:.* UPGRADE
attr GosundST1 room Gosund
attr GosundST1 setList on cmnd/DVES_93A82B/POWER on\
off cmnd/DVES_93A82B/POWER off\
reboot cmnd/DVES_93A82B/RESTART 1
attr GosundST1 stateFormat { \
  my $state = ReadingsVal($name, "state", "off");;   \
  return '<img src="/fhem/images/fhemSVG/rc_GREEN.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "on");;   \
  return '<img src="/fhem/images/fhemSVG/rc_RED.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "off");;     \
  return '<img src="/fhem/images/fhemSVG/rc_YELLOW.svg",img width="32" height="32"<div>'..sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "reboot");; \
  return '<img src="/fhem/images/fhemSVG/rc_BLUE.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "offline");;   \
}
attr GosundST1 webCmd on:off:reboot

setstate GosundST1 <img src="/fhem/images/fhemSVG/rc_RED.svg",img width="32" height="32"<div>&nbsp;;&nbsp;;Spannung: 0 V &nbsp;;&nbsp;;Stromstärke: 0.000 A &nbsp;;&nbsp;;Leistung: 0 W &nbsp;;&nbsp;;Wifi_RSSI: 90 %</div>
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Current 0.000
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Factor 0.00
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Period 0
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Power 0
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Today 0.001
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Total 0.001
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Voltage 0
setstate GosundST1 2018-09-03 19:36:52 ENERGY_Yesterday 0.000
setstate GosundST1 2018-09-03 19:26:44 FallbackTopic DVES_93A82B
setstate GosundST1 2018-09-03 19:26:44 GroupTopic sonoffs
setstate GosundST1 2018-09-03 19:26:44 Hostname sonoff-2091
setstate GosundST1 2018-09-03 19:26:44 IPAddress 192.aaa.bbb.ccc
setstate GosundST1 2018-09-03 19:26:44 LWT online
setstate GosundST1 2018-09-03 19:26:44 Module BlitzWolf SHP2
setstate GosundST1 2018-09-02 23:28:42 OtaUrl http://sonoff.maddox.co.uk/tasmota/sonoff-minimal.bin
setstate GosundST1 2018-09-03 19:36:52 POWER off
setstate GosundST1 2018-09-02 23:34:03 Restart Restarting
setstate GosundST1 2018-09-03 19:26:44 RestartReason Power on
setstate GosundST1 2018-09-03 19:36:52 Time 2018-09-03T18:36:52
setstate GosundST1 2018-09-02 23:28:55 UPGRADE Failed Update error: ERROR[8]: Flash config wrong real: 1048576 IDE: 4194304
setstate GosundST1 2018-09-02 23:28:42 Upgrade Version 6.1.1 from http://sonoff.maddox.co.uk/tasmota/sonoff-minimal.bin
setstate GosundST1 2018-09-03 19:36:52 Uptime 0T00:10:13
setstate GosundST1 2018-09-03 19:36:52 Vcc 3.238
setstate GosundST1 2018-09-03 19:26:44 Version 6.1.1
setstate GosundST1 2018-09-03 19:26:44 WebServerMode Admin
setstate GosundST1 2018-09-03 19:36:52 Wifi_AP 1
setstate GosundST1 2018-09-03 19:36:52 Wifi_APMac XX:XX:XX:XX:XX:XX
setstate GosundST1 2018-09-03 19:36:52 Wifi_RSSI 90
setstate GosundST1 2018-09-03 19:36:52 Wifi_SSId aldebaran
setstate GosundST1 2018-09-03 19:36:21 state off

Und hier die events:
- aus aus fhem:
2018-09-03 19:50:51.605 MQTT2_DEVICE GosundST1 off
2018-09-03 19:50:51.719 MQTT2_DEVICE GosundST1 POWER: off
2018-09-03 19:50:51.745 MQTT2_DEVICE GosundST1 POWER: off
- von dem Knopf an der Steckdose:
2018-09-03 19:50:54.935 MQTT2_DEVICE GosundST1 POWER: on
2018-09-03 19:50:54.959 MQTT2_DEVICE GosundST1 POWER: on


Gruß,
Cubietruck
HM_LAN_CFG, HM_CC_RT_DN, HM_SEC_RHS, nanoCUL 433, GT-WT-02, Revolt NC-5461, m-FS300

schwatter

#132
Das liegt daran, das der "state" nicht von MQTT2 gesetzt wird.
Helfen würde dir, das stateFormat zu ändern.

siehe hier die Antwort von rudolfkoenig

https://forum.fhem.de/index.php/topic,90145.msg829664.html#msg829664

edit:
Wegen Blödsinn

rudolfkoenig


arran

Vielen Dank für die Hinweise - es  hat geklappt  8)

Ich habe mein stateFormat folgendermaßen geändert:


attr GosundST1 stateFormat { \
  my $state = ReadingsVal($name,"LWT","") eq "offline" ? "offline" : ReadingsVal($name,"POWER","");;   \
  return '<img src="/fhem/images/fhemSVG/rc_GREEN.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "on");;   \
  return '<img src="/fhem/images/fhemSVG/rc_RED.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "off");;     \
  return '<img src="/fhem/images/fhemSVG/rc_YELLOW.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "reboot");; \
  return '<img src="/fhem/images/fhemSVG/rc_BLUE.svg",img width="32" height="32"<div>'.sprintf("&nbsp;;&nbsp;;Spannung: %.0f V &nbsp;;&nbsp;;Stromstärke: %.3f A &nbsp;;&nbsp;;Leistung: %.0f W &nbsp;;&nbsp;;Wifi_RSSI: %.0f %%", ReadingsVal($name,"ENERGY_Voltage",0), ReadingsVal($name,"ENERGY_Current",0), ReadingsVal($name,"ENERGY_Power",0), ReadingsVal($name,"Wifi_RSSI",0)).'</div>' if($state eq "offline");;   \
}

Cubietruck
HM_LAN_CFG, HM_CC_RT_DN, HM_SEC_RHS, nanoCUL 433, GT-WT-02, Revolt NC-5461, m-FS300