Hallo Community,
ich habe folgendes Problem, Ich habe über ein Eurotronic Spirit ZigBee SPZB0001 Heizungsthermostat, das ich über eine Zigbee2Tasmota Bridge in Verbindung mit MQTT erfolgreich bei FHEM eingebunden habe. Über das TabletUI kann ich das Thermostat problemlos steuern, nun wollte ich es in Alexa hinzufügen aber Alexa erkennt das Gerät nicht als Thermostat.
Ich habe sämtliche Beiträge schon gelesen bezüglich des HomeBridge-Mapping, aber das hat nur bewirkt das Alexa das Gerät nun als Temperatursensor und nicht als Thermostat erkennt.
Diesen Code habe ich beim attr homebridgeMapping eingegen.
TargetTemperature=ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,,minValue=5,maxValue=30,minStep=0.5,cmd=control,nocache=true
CurrentTemperature=ZbReceived_HZ_Kinderzimmer_LocalTemperature
Hier noch die definition meines Geräts mit allen attr:
define MQTT2_z2t_ED59 MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59 IODev MQTTServer
attr MQTT2_z2t_ED59 alexaName HeizungKinderzimmer
attr MQTT2_z2t_ED59 alias HZ_Kinderzimmer
attr MQTT2_z2t_ED59 genericDeviceType thermostat
attr MQTT2_z2t_ED59 homebridgeMapping TargetTemperature=ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,,minValue=5,maxValue=30,minStep=0.5,cmd=control,nocache=true \
CurrentTemperature=ZbReceived_HZ_Kinderzimmer_LocalTemperature\
attr MQTT2_z2t_ED59 readingList tele/tasmota_DC0320/ED59/SENSOR:.* { json2nameValue($EVENT) }
attr MQTT2_z2t_ED59 room Wohnung -> Heizung
attr MQTT2_z2t_ED59 setList Temperatur:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
attr MQTT2_z2t_ED59 stateFormat Soll: ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint °C Ist: ZbReceived_HZ_Kinderzimmer_LocalTemperature °C Batterie: ZbReceived_HZ_Kinderzimmer_BatteryPercentage %
define FileLog_MQTT2_z2t_ED59 FileLog ./log/MQTT2_z2t_ED59-%Y.log MQTT2_z2t_ED59
setuuid FileLog_MQTT2_z2t_ED59 5fa79c74-f33f-9161-44d2-26eb82293e8bc4fa
attr FileLog_MQTT2_z2t_ED59 alias FileLog_MQTT2_z2t_ED59
attr FileLog_MQTT2_z2t_ED59 logtype text
attr FileLog_MQTT2_z2t_ED59 room MQTT2_DEVICE
in der Alexa log konnte ich folgendes finden.
[2020-11-22 22:45:53] [FHEM] MQTT2_z2t_ED59 is thermostat
[2020-11-22 22:45:53] [FHEM] MQTT2_z2t_ED59 is NOT a thermostat. set command for target temperature missing: control
[2020-11-22 22:45:53] [FHEM] MQTT2_z2t_ED59 has
[2020-11-22 22:45:53] [FHEM] CurrentHeatingCoolingState [undefined]
[2020-11-22 22:45:53] [FHEM] CurrentTemperature [ZbReceived_HZ_Kinderzimmer_LocalTemperature]
[2020-11-22 22:45:53] [FHEM] MQTT2_z2t_ED59 will not send proactive events
[2020-11-22 22:45:53] [FHEM] MQTT2_z2t_ED59 uses ID: 5fa79c74-f33f-9161-5b26-c4ad7a506dc06311
2020-11-22 22:45:53 caching: MQTT2_z2t_ED59-ZbReceived_HZ_Kinderzimmer_LocalTemperature: 24
nur was meint Alexa mit der definition control, in allen Beiträgen in denen es sich um das HomeBridge-Mapping handelt wird control nicht einmal erwähnt, wie soll ich das jetzt definieren. Das problem ist meiner Meinung das ich kein HomeMatic Thermostat habe, aber es muss doch eine Möglichkeit geben das ganze einzubinden und zu steuern.
Ich hoffe jemand blickt da durch und kann mir weiterhelfen, im Dateianhang befindet sich noch ein Bild mit den mir zu Verfügung stehenden Readings.
Gruß Tom
Du hast "control" als cmd im HomeBridgeMapping eingetragen, dann sucht er das passende "set ... control ...." Kommando im Fhem-Device, was anscheinend nicht existiert.
Mit welchem Befehl in Fhem steuerst Du die Zieltemperatur?
ach tatsächlich. Das hat man also von Copy&Paste.
über SetList habe ich einen Silder eingefügt mit dem ich in 0.5 Schritten zwischen 5 und 30 Grad einstellen kann und dieser schickt mit folgendem Befehl cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}
die gewünschte Temperatur an die Bridge über MQTT
//edit: habe nun den cmd von "control" auf "Temperatur" geändert, nun erkennt Alexa das Thermostat ganz normal und ich kann es per Sprachsteuerung steuern. Kleiner aber feiner Fehler, ich dachte eig. das control nicht der Aktor ist sondern das es heißen soll das Alexa den wert kontrollieren kann.
Das heisst?
set MQTT2_z2t_ED59 Temperatur 27
??
Das "set" Kommando wird gebraucht: set MQTT2_z2t_ED59 XXXXXX XX
set MQTT2_z2t_ED59 Temperatur 27
genau nur hab ich über das SetList Attributte mir halt nen Slider gesetzt, was aber in der tatsächlichen Funktion kein Unterscheid macht, denk ich mal.
Dann probiere mit
TargetTemperature=Temperatur::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,minValue=5,maxValue=30,minStep=0.5
Falls Interesse besteht, ein attrTemplate für den Eurotronic Spirit @zigbee2tasmota zu erstellen, mit dem man sich da (hoffentlich am Ende) leichter tut: Bitte melden, und vorab bitte den (leider etwas länglichen) Thread zur zigbee2mqtt-Variante (https://forum.fhem.de/index.php/topic,114994.0.html) und das Wiki zu https://wiki.fhem.de/wiki/Zigbee2Tasmota-MQTT lesen.
Zitat von: amenomade am 23 November 2020, 00:57:02
Dann probiere mit
TargetTemperature=Temperatur::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,minValue=5,maxValue=30,minStep=0.5
so funktioniert es auch und sieht sogar übersichtlicher aus vielen Dank, so ähnlich hatte ich es auch schon probiert allerdings wohl falsch herum.
Ich hatte es mal so probiert das hat allerdings nicht funktioniert
TargetTemperature=ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint::Temperatur,minValue=5,maxValue=30,minStep=0.5
Wie gesagt hab ich einfach unter cmd statt "control", "Temperatur" eingetragen und es hat auch funktioniert. Werde aber deine Version in Zukunft nutzen.
Alt:
TargetTemperature=ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,,minValue=5,maxValue=30,minStep=0.5,cmd=control,nocache=true
Neu:
TargetTemperature=ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint::ZbReceived_HZ_Kinderzimmer_OccupiedHeatingSetpoint,,minValue=5,maxValue=30,minStep=0.5,cmd=Temperatur,nocache=true
Zitat von: Beta-User am 23 November 2020, 10:02:44
Falls Interesse besteht, ein attrTemplate für den Eurotronic Spirit @zigbee2tasmota zu erstellen, mit dem man sich da (hoffentlich am Ende) leichter tut: Bitte melden, und vorab bitte den (leider etwas länglichen) Thread zur zigbee2mqtt-Variante (https://forum.fhem.de/index.php/topic,114994.0.html) und das Wiki zu https://wiki.fhem.de/wiki/Zigbee2Tasmota-MQTT lesen.
Ich nutze derzeit kein Template, dadurch das ich den MQTT-Server von FHEM nutze wurde mir passend ein Device angelegt mit allen Readings und ohne Template, ich habe lediglich ein Set Befehl hinzugefügt das direkt die Änderung an MQTT sendet, damit es funktioniert. An einer Entwicklung oder auch Test eines Templates wäre ich schon interessiert, allerdings kann man beim Eurotronic über zigbee2tasmota aktuell nur die Temperatur Regeln, sonderfunktionen wie Boost-Mode, Auto-Mode, Window-Mode wie es bei zigbee2MQTT funktioniert sind derzeit nicht möglich, dazu habe ich bereits eine Anfrage im Github von Zigbee2Tasmota geschieben, welche aktuell den status "Troubleshooting" hat.
Zitat von: xTomi93 am 23 November 2020, 11:25:35
Ich nutze derzeit kein Template, dadurch das ich den MQTT-Server von FHEM nutze wurde mir passend ein Device angelegt mit allen Readings und ohne Template,
...das ist dann aber ein "Einheitsdevice" für den ganzen tasmota2zigbee-Strang...
Falls du beabsichtigst, mehr als den einen Thermostat da zu verwenden, würde ich das umstellen, sonst wird das schnell unübersichtlich. außerdem sind die ReadingNamen "Kacke" und vermutlich ist auch der "Kreis" zwischen Kommando/Setzen und Rückmeldung/Lesen nicht geschlossen. Außerdem kannst du ggf. dann einfacher Lampen einbinden usw..
Wenn ich helfen soll, müßtest du umbauen auf bridge (mit attrTemplate) und das Prinzip: Eine Zigbee-Adresse = ein separates MQTT2_DEVICE. "Leider" muss/sollte man dazu auch SetOption81 (?) verwenden, dann sendet der Tasmota-ESP an separate Topics, was bedeutet, dass du mit dem Spirit mehr oder weniger von vorne anfängst.
Da das Ergebnis dann aber mit ziemlicher Sicherheit nicht nur Sprachsteuerungsnäher ist, sondern auch z.B. via WeekdayTimer/weekprofile mit Solltemperaturen versorgt werden kann, meine ich, dass sich das lohnen würde.
Ich würde (nach der Umstellung auf "bridge") dann ein RAW-Listing benötigen sowie evtl. die eine oder andere MQTT topic/payload-Kombination.
Zitatallerdings kann man beim Eurotronic über zigbee2tasmota aktuell nur die Temperatur Regeln, sonderfunktionen wie Boost-Mode, Auto-Mode, Window-Mode wie es bei zigbee2MQTT funktioniert sind derzeit nicht möglich, dazu habe ich bereits eine Anfrage im Github von Zigbee2Tasmota geschieben, welche aktuell den status "Troubleshooting" hat.
Bin nicht sicher, ob wir das nicht hinbekämen. Man muss dazu zwar ziemlich "unter das Auto" liegen (und es wäre schöner, tasmota würde das direkt abbilden), aber auf der (sehr kurzen) Wiki-Seite dazu steht ja, dass man im Prinzip alle möglichen ZigBee-Befehle direkt absetzen kann, wenn ich das richtig interpretiere... Man müßte also "nur" wissen, wie die im einzelnen lauten ;) .
Für die Bridge selber hab ich ein Template verwendet.
Ich habe insgesamt 5 Heizungsthermostate und 9 Aqara temperature humidity sensor im Netzwerk und es wurde für jedes einzelne Gerät automatisch ein Device angelegt, somit habe ich was das angeht kein problem. ;D
Was das ganze Thema angeht bin ich offen gesagt eig. ein totaler Noob bisher habe ich alles nur durch ein paar Foren und Learning by doing gemacht, weshalb ich genaugenommen von dem was du gesagt hast nicht wirklich was verstanden habe im Bezug auf SetOption81 oder so, wenns ins Thema Java Script und Co also in tiefere Programmierung geht bin ich nahezu 100% ahnungslos ::)
Zum Thema Sonderfunktionen, ich hatte vorher einen CC2531 Zigbee Stick im Einsatz in Verbindung mit Zigbee2MQTT und da hab ich auch die Funktionen genutzt um z.B. manuell den Fenster offen Modus zu aktivieren, ich habe daraufhin nun bei Z2T den gleichen PayLoad ausprobiert um die sogenanten Host_Flags zu setzen, dieser wurde aber nicht akzeptiert, Anschließend habe ich es über den "Mode" versucht und da wurden sie zwar von der Bridge akzeptiert aber das Thermostat hat nicht darauf reagiert. Von Eurotronic selbst gibt es zumindest in der offizelen PDF keine erläuterung der host Flags was auch der Programmierer sagte von Z2T, wie es der programmierer bei Z2MQTT geschafft hat ist mir ein rätsel.
Zu den ReadingNamen davon bin ich auch nicht sonderlich begeistert die setzen sich allerdings wie folgt zusammen.
ZbReceived_FriendlyName_JSON-Name
Hoffe du verstehst mein durcheinander gewürfelten Text, blick da teilweise grad selbst nicht mehr durch.
Hmm, ok, dann ist SetOption81 (?) gesetzt, denn das macht das bridge-attrTemplate ;) .
Da die "Basis" in Ordnung ist, kannst du alles mit einer Kopie deines bestehenden Devices ausprobieren, beim Rest kann ich versuchen, dich zu coachen. Um erst mal halbwegs kurze Reading-Namen zu bekommen, sollte eigentlich tasmota_zigbee2tasmota_generic_battery_sensor schon mal eine Verbesserung bringen, ergo: "RAW Definition" des bestehenden Devices anzeigen lassen, den Namen ändern, setstate-Zeilen weglassen, execute. Auf das neue Device dann das template und hier dann bitte vom Ergebnis - nach einer gewissen Laufzeit - ein RAW-listing einstellen.
Dann machen wir erst desired-temp/measured-temp+Sprachsteuerung soweit sauber (valve wäe noch nett), und ich versuche dann mal in dem Java-Code (der mir auch in etwa so fern ist wie die Insel) rauszufinden, wie die ZigBee-Payload sein muss. Da das Grundgerüst für den Rest soweit steht, ist der Rest eher Textverarbeitung, wir müssen nur auf den Trichter kommen und könnten notfalls auch koenkk wegen eines Schubses fragen ...
(Eurotronic ist ein Saftladen und es freut mich zu hören, dass es dort doch irgendwelche Leute gibt, die wenigstens irgendjemandem antworten...).
Zitat von: Beta-User am 24 November 2020, 05:32:19
Da die "Basis" in Ordnung ist, kannst du alles mit einer Kopie deines bestehenden Devices ausprobieren, beim Rest kann ich versuchen, dich zu coachen. Um erst mal halbwegs kurze Reading-Namen zu bekommen, sollte eigentlich tasmota_zigbee2tasmota_generic_battery_sensor schon mal eine Verbesserung bringen, ergo: "RAW Definition" des bestehenden Devices anzeigen lassen, den Namen ändern, setstate-Zeilen weglassen, execute. Auf das neue Device dann das template und hier dann bitte vom Ergebnis - nach einer gewissen Laufzeit - ein RAW-listing einstellen.
Ich habe jetzt das Template tasmota_zigbee2tasmota_generic_battery_sensor gesetzt, was praktisch eig. den Luftfeuchtigkeits-/Temperatursensor darstellt, allerdings mit erfolg die Readings sind jetzt ohne ZbReceived-Tag und FriendlyName. Allerdings hab ich keine Ahnung was du ab "Ergo: -->...." meinst ;D
Hast du Discord? Klar ist das Forum praktisch um auch anderen dabei weiterzuhelfen allerdings denke ich wäre es einfach mit Discord oder Skype weiterzumachen dann können wir am Wochenende mal schreiben und du sagst mir genau ohne Zeitversatz was du brauchst und was ich tun soll ;D
Zitat von: Beta-User am 24 November 2020, 05:32:19
Dann machen wir erst desired-temp/measured-temp+Sprachsteuerung soweit sauber (valve wäe noch nett), und ich versuche dann mal in dem Java-Code (der mir auch in etwa so fern ist wie die Insel) rauszufinden, wie die ZigBee-Payload sein muss. Da das Grundgerüst für den Rest soweit steht, ist der Rest eher Textverarbeitung, wir müssen nur auf den Trichter kommen und könnten notfalls auch koenkk wegen eines Schubses fragen ...
(Eurotronic ist ein Saftladen und es freut mich zu hören, dass es dort doch irgendwelche Leute gibt, die wenigstens irgendjemandem antworten...).
Interessant. Mich wundert allerdings auch warum bei allen Zigbee Geräten die ich habe die Batteriestand abfrage so zickt :o
:) geht doch gut voran, jetzt haben wir schon "weniger unschöne" Readings...
Da ich zum einen weder mit Discord was anfangen kann, noch mein Skype-Passwort mir noch geläufig ist, würde ich vorschlagen, wir machen einfach textbasiert hier weiter? Da du mit RAW Definition nichts anfangen kannst: Wirf mal einen kurzen Blick auf https://wiki.fhem.de/wiki/Import_von_Code_Snippets.
Was ich bräuchte, wäre ein "c&p-Gerät", und das bekommst du damit; dann kann ich ggf. mit einem Testsystem und ein paar MQTT-Messages, wie man sie z.B. aus der Tasmota-Konsole kopieren kann, ggf. auch mal was "offline" und in Ruhe austesten. (Ich habe nämlich auch nicht die Ahnung, was uns da im Detail erwartet, und werde nachdenken müssen; Teile können/müssen eventuell auch andere lösen, das fällt mit Sicherheit nicht alles vom Himmel. Mal sehen, wenn wir etwas mehr Info haben, was wir alles an Infos über die bridge erhalten).
Falls du selbst was machen willst: für "desired-temp" brauchen wir in Sende- und Empfangsrichtung diesen (identischen) Reading-Namen. Geht über setList bzw. jsonMap, du könntest ggf. aus dem zigbee2mqtt-Zwilling abkupfern (auch wenn mein Tester in dem anderen Thread mir leider "ausgebüxt" ist und bisher nicht abschließend klar ist, ob das reibungslos funktioniert (er wollte scheinbar unbedingt was anderes und braucht das "desired-temp" nicht für Sprachsteuerungszwecke etc. (?)...)).
Zu der Batterieabfrage kann ich im Moment (noch) nichts beitragen, meine Vermutung wäre, dass man da eigentlich nur ein Intervall und/oder einen Schwellenwert setzen kann.
zigbee2tasmota ist aber viel eher ein "vorverarbeitender IO-Mechanismus" (ähnlich CUL) wie eine vollwertige ZigBee-Implementierung, von daher wird man vermutlich manches "nachrüsten" müssen, um "hex-payloads" zu erzeugen und auf die richtige (Teil-) Adresse zu versenden.
Bei der Gelegenheit: in https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/toZigbee.js#L1531 gibt's wohl den Hauptteil des Schlüssels, wie koenkk das gelöst hat mit boost etc.. Also falls du einen Hex-Wert unter der Adresse 0x4008 in den Readings hast, müßte das irgendwie dazu passen...
Zitat von: Beta-User am 24 November 2020, 12:19:22
Da ich zum einen weder mit Discord was anfangen kann, noch mein Skype-Passwort mir noch geläufig ist, würde ich vorschlagen, wir machen einfach textbasiert hier weiter?
ok ;D
Zitat von: Beta-User am 24 November 2020, 12:19:22
Da du mit RAW Definition nichts anfangen kannst: Wirf mal einen kurzen Blick auf https://wiki.fhem.de/wiki/Import_von_Code_Snippets.
Was ich bräuchte, wäre ein "c&p-Gerät", und das bekommst du damit; dann kann ich ggf. mit einem Testsystem und ein paar MQTT-Messages, wie man sie z.B. aus der Tasmota-Konsole kopieren kann, ggf. auch mal was "offline" und in Ruhe austesten. (Ich habe nämlich auch nicht die Ahnung, was uns da im Detail erwartet, und werde nachdenken müssen; Teile können/müssen eventuell auch andere lösen, das fällt mit Sicherheit nicht alles vom Himmel. Mal sehen, wenn wir etwas mehr Info haben, was wir alles an Infos über die bridge erhalten).
Ich bin jetzt auf mein Gerät gegangen und habe unten auf RAW definition geklickt das ist dieser Code
defmod MQTT2_z2t_ED59 MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59 IODev MQTTServer
attr MQTT2_z2t_ED59 alexaName HeizungKinderzimmer
attr MQTT2_z2t_ED59 alias HZ_Kinderzimmer
attr MQTT2_z2t_ED59 genericDeviceType thermostat
attr MQTT2_z2t_ED59 homebridgeMapping TargetTemperature=Temperatur::OccupiedHeatingSetpoint,minValue=5,maxValue=30,minStep=1\
CurrentTemperature=LocalTemperature
attr MQTT2_z2t_ED59 icon temperature_humidity
attr MQTT2_z2t_ED59 jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0 Temperature:temperature Humidity:humidity
attr MQTT2_z2t_ED59 model tasmota_zigbee2tasmota_generic_battery_sensor
attr MQTT2_z2t_ED59 readingList tele/tasmota_DC0320/ED59/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xED59.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_ED59 room Wohnung -> Heizung
attr MQTT2_z2t_ED59 setList Temperatur:textField cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
attr MQTT2_z2t_ED59 stateFormat Soll: OccupiedHeatingSetpoint °C Ist: LocalTemperature °C Batterie: BatteryPercentage %
setstate MQTT2_z2t_ED59 Soll: 25 °C Ist: 24.5 °C Batterie: BatteryPercentage %
setstate MQTT2_z2t_ED59 2020-11-25 06:08:18 0001/003E 0
setstate MQTT2_z2t_ED59 2020-11-25 10:38:12 CurrentTemperatureSetPoint 25
setstate MQTT2_z2t_ED59 2020-11-25 10:39:42 Endpoint 1
setstate MQTT2_z2t_ED59 2020-11-25 10:29:51 EurotronicErrors 0
setstate MQTT2_z2t_ED59 2020-11-25 10:39:42 LinkQuality 55
setstate MQTT2_z2t_ED59 2020-11-25 10:39:42 LocalTemperature 24.5
setstate MQTT2_z2t_ED59 2020-11-25 10:39:42 Name HZ_Kinderzimmer
setstate MQTT2_z2t_ED59 2020-11-25 10:38:12 OccupiedHeatingSetpoint 25
setstate MQTT2_z2t_ED59 2020-11-25 10:32:52 PIHeatingDemand 7
setstate MQTT2_z2t_ED59 2020-11-25 10:31:51 UnoccupiedHeatingSetpoint 16
setstate MQTT2_z2t_ED59 2020-11-08 08:21:24 associatedWith MQTT2_DVES_DC0320
setstate MQTT2_z2t_ED59 2020-11-24 11:42:24 attrTemplateVersion 20200814
setstate MQTT2_z2t_ED59 2020-11-25 09:11:12 state Temperatur
und hier nocheinmal mit den "Probably associated with" werten:
defmod MQTT2_z2t_ED59 MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59 IODev MQTTServer
attr MQTT2_z2t_ED59 alexaName HeizungKinderzimmer
attr MQTT2_z2t_ED59 alias HZ_Kinderzimmer
attr MQTT2_z2t_ED59 genericDeviceType thermostat
attr MQTT2_z2t_ED59 homebridgeMapping TargetTemperature=Temperatur::OccupiedHeatingSetpoint,minValue=5,maxValue=30,minStep=1\
CurrentTemperature=LocalTemperature
attr MQTT2_z2t_ED59 icon temperature_humidity
attr MQTT2_z2t_ED59 jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0 Temperature:temperature Humidity:humidity
attr MQTT2_z2t_ED59 model tasmota_zigbee2tasmota_generic_battery_sensor
attr MQTT2_z2t_ED59 readingList tele/tasmota_DC0320/ED59/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xED59.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_ED59 room Wohnung -> Heizung
attr MQTT2_z2t_ED59 setList Temperatur:textField cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
attr MQTT2_z2t_ED59 stateFormat Soll: OccupiedHeatingSetpoint °C Ist: LocalTemperature °C Batterie: BatteryPercentage %
defmod FileLog_MQTT2_z2t_ED59 FileLog ./log/MQTT2_z2t_ED59-%Y.log MQTT2_z2t_ED59
attr FileLog_MQTT2_z2t_ED59 alias Log Kinderzimmer
attr FileLog_MQTT2_z2t_ED59 logtype text
attr FileLog_MQTT2_z2t_ED59 room MQTT -> Logs -> Heizung
defmod MQTT2_DVES_DC0320 MQTT2_DEVICE DVES_DC0320
attr MQTT2_DVES_DC0320 IODev MQTTServer
attr MQTT2_DVES_DC0320 alias Bridge
attr MQTT2_DVES_DC0320 bridgeRegexp tele/tasmota_DC0320/([^/]+)/SENSOR:.* "z2t_$1"
attr MQTT2_DVES_DC0320 getList ZbStatus1:noArg ZbStatus1 cmnd/tasmota_DC0320/ZbStatus1\
ZbStatus2:textField ZbStatus2 cmnd/tasmota_DC0320/ZbStatus2 $EVTPART1
attr MQTT2_DVES_DC0320 group Zigbee2Tasmota
attr MQTT2_DVES_DC0320 icon mqtt
attr MQTT2_DVES_DC0320 model tasmota_zigbee2tasmota_bridge
attr MQTT2_DVES_DC0320 readingList tele/tasmota_DC0320/LWT:.* LWT\
stat/tasmota_DC0320/RESULT:.* { $EVENT =~ m,(ZbStatus.), ? { $1=>$EVENT } : json2nameValue($EVENT,'',$JSONMAP) }\
tele/tasmota_DC0320/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
tele/tasmota_DC0320/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
DVES_DC0320:cmnd/tasmota_DC0320/POWER:.* POWER\
DVES_DC0320:tele/tasmota_DC0320/STATE:.* { json2nameValue($EVENT) }\
DVES_DC0320:tele/tasmota_DC0320/RESULT:.* { json2nameValue($EVENT) }\
DVES_DC0320:stat/tasmota_DC0320/UPGRADE:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_DC0320 room MQTT -> Server
attr MQTT2_DVES_DC0320 setList permit_join:0,1,99 cmnd/tasmota_DC0320/ZbPermitJoin $EVTPART1\
x_ZbSend:textField cmnd/tasmota_DC0320/ZbSend {"device":"0x$EVTPART1","send":{"$EVTPART2":"$EVTPART3"}}\
z_ZbBind_single:textField cmnd/tasmota_DC0320/ZbBind {"Device":"$EVTPART1","ToDevice":"0x$EVTPART2","Endpoint":$EVTPART3,"ToEndpoint":$EVTPART4,"Cluster":$EVTPART5}\
z_ZbBind_group:textField cmnd/tasmota_DC0320/ZbBind {"Device":"$EVTPART1","ToGroup":"0x$EVTPART2","Endpoint":$EVTPART3,"Cluster":$EVTPART4}
attr MQTT2_DVES_DC0320 stateFormat LWT
setstate FileLog_MQTT2_z2t_ED59 active
setstate FileLog_MQTT2_z2t_ED59 2020-11-25 10:42:55 linesInTheFile 50578
setstate MQTT2_DVES_DC0320 Online
setstate MQTT2_DVES_DC0320 2020-11-12 13:37:37 0xA94F_Name HZ_Esszimmer
setstate MQTT2_DVES_DC0320 2020-11-12 13:13:18 Command Unknown
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 FallbackTopic cmnd/DVES_DC0320_fb/
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 GroupTopic cmnd/tasmotas/
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Heap 26
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 Hostname tasmota_DC0320-0800
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 IPAddress 192.168.178.6
setstate MQTT2_DVES_DC0320 2020-11-25 10:36:50 LWT Online
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 LoadAvg 19
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 Module ZHA ZBBridge
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 MqttCount 7
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:01 OtaUrl http://ota.tasmota.com/tasmota/tasmota-zbbridge.bin
setstate MQTT2_DVES_DC0320 2020-11-25 10:36:51 POWER
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:00 Restart Restarting
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 RestartReason Software/System restart
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:02 SaveData on
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:01 SetOption26 on
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:02 SetOption83 on
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:01 SetOption89 on
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Sleep 50
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 SleepMode Dynamic
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:00 StateText1 off
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:01 StateText2 on
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:01 StateText3 toggle
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:01 StateText4 hold
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Time 2020-11-25T10:42:06
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:43 Upgrade Successful. Restarting
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Uptime 3T13:35:14
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 UptimeSec 308114
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Vcc 3.436
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 Version 9.1.0.2(zbbridge)
setstate MQTT2_DVES_DC0320 2020-11-21 21:06:57 WebServerMode Admin
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_AP 1
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_BSSId 44:4E:6D:78:EF:BE
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_Channel 11
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_Downtime 0T00:00:05
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_LinkCount 2
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_RSSI 100
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_SSId SaTho
setstate MQTT2_DVES_DC0320 2020-11-25 10:42:06 Wifi_Signal -39
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:53 ZbBind_Device 0xDE7B
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:53 ZbBind_Name HZ_Schlafzimmer
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:53 ZbBind_Status 0
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:53 ZbBind_StatusMessage SUCCESS
setstate MQTT2_DVES_DC0320 2020-11-12 13:13:27 ZbForget Done
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:39 ZbParent_ChildInfo_1 0x00158D000460642B
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_10 0x00158D00044BF9C7
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_2 0x00158D0003C45F48
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_3 0x00158D0003C4607F
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_4 0x00158D00032F7003
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_5 0x00158D00053D2C36
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_6 0x00158D0004606562
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_7 0x00158D00053D2D4A
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_8 0x00158D00045CB3CD
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:25 ZbParent_ChildInfo_9 0x00158D00046590EF
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:39 ZbParent_Children 1
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:39 ZbParent_Device 0x0000
setstate MQTT2_DVES_DC0320 2020-11-12 13:29:33 ZbPermitJoin Done
setstate MQTT2_DVES_DC0320 2020-11-23 07:21:35 ZbRouteError_ShortAddr 0xE651
setstate MQTT2_DVES_DC0320 2020-11-23 07:21:35 ZbRouteError_Status 66
setstate MQTT2_DVES_DC0320 2020-11-23 07:21:35 ZbRouteError_StatusMessage MAC_INDIRECT_TIMEOUT
setstate MQTT2_DVES_DC0320 2020-11-25 09:11:12 ZbSend Done
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_ActiveEndpoints_1 0x01
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:05 ZbState_Code 2
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_Decision 3
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_DeviceId 0x0301
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:07 ZbState_DeviceType 1
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_DeviceVersion 1
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_Endpoint 0x01
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_IEEEAddr 0x00158D0003C45F48
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_1 0x0000
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_2 0x0001
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_3 0x0003
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_4 0x0201
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_5 0x0019
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_InClusters_6 0x000A
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:07 ZbState_Message Started
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_1 0x0000
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_2 0x0001
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_3 0x0003
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_4 0x0004
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_5 0x0201
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_6 0x0019
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_OutClusters_7 0x000A
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_ParentNetwork 0x0000
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_PowerSource false
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_ProfileId 0x0104
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:05 ZbState_Protocol 8
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_ReceiveWhenIdle false
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:05 ZbState_RestartReason Power-on
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_Security false
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:42 ZbState_ShortAddr 0xDE7B
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:05 ZbState_Stack 2
setstate MQTT2_DVES_DC0320 2020-11-25 03:19:44 ZbState_Status 33
setstate MQTT2_DVES_DC0320 2020-11-21 21:07:05 ZbState_Version 6.7.6.0
setstate MQTT2_DVES_DC0320 2020-11-01 20:20:00 attrTemplateVersion 20200807_1
setstate MQTT2_DVES_DC0320 2020-11-25 10:37:37 subscriptions cmnd/DVES_DC0320_fb/# cmnd/tasmota_DC0320/# cmnd/tasmotas/#
setstate MQTT2_z2t_ED59 Soll: 25 °C Ist: 24.5 °C Batterie: BatteryPercentage %
setstate MQTT2_z2t_ED59 2020-11-25 06:08:18 0001/003E 0
setstate MQTT2_z2t_ED59 2020-11-25 10:38:12 CurrentTemperatureSetPoint 25
setstate MQTT2_z2t_ED59 2020-11-25 10:42:55 Endpoint 1
setstate MQTT2_z2t_ED59 2020-11-25 10:29:51 EurotronicErrors 0
setstate MQTT2_z2t_ED59 2020-11-25 10:42:55 LinkQuality 45
setstate MQTT2_z2t_ED59 2020-11-25 10:39:42 LocalTemperature 24.5
setstate MQTT2_z2t_ED59 2020-11-25 10:42:55 Name HZ_Kinderzimmer
setstate MQTT2_z2t_ED59 2020-11-25 10:38:12 OccupiedHeatingSetpoint 25
setstate MQTT2_z2t_ED59 2020-11-25 10:42:55 PIHeatingDemand 7
setstate MQTT2_z2t_ED59 2020-11-25 10:31:51 UnoccupiedHeatingSetpoint 16
setstate MQTT2_z2t_ED59 2020-11-08 08:21:24 associatedWith MQTT2_DVES_DC0320
setstate MQTT2_z2t_ED59 2020-11-24 11:42:24 attrTemplateVersion 20200814
setstate MQTT2_z2t_ED59 2020-11-25 09:11:12 state Temperatur
Ist es das was du brauchst?
Zitat von: Beta-User am 24 November 2020, 12:19:22
Falls du selbst was machen willst: für "desired-temp" brauchen wir in Sende- und Empfangsrichtung diesen (identischen) Reading-Namen. Geht über setList bzw. jsonMap, du könntest ggf. aus dem zigbee2mqtt-Zwilling abkupfern (auch wenn mein Tester in dem anderen Thread mir leider "ausgebüxt" ist und bisher nicht abschließend klar ist, ob das reibungslos funktioniert (er wollte scheinbar unbedingt was anderes und braucht das "desired-temp" nicht für Sprachsteuerungszwecke etc. (?)...)).
Ich habe bereits zigbee2mqtt vollkommen aus dem System geschmissen, deshalb weiß ich nicht wie ich das abkupfern soll ;D
Ich habe wie gesagt das so definiert wie oben beschrieben. Mein MQTT Server hat mir automatisch ein Device angelegt dort habe ich über setList "Temperatur" angelegt mit dem MQTT befehl an die Bridge um dort ein Zigbee Befehl ans Gerät zu senden, das funktioniert einwandfrei, sowohl in FHEM direkt als auch im FTUI und über Alexa Sprachsteuerung.
Zitat von: Beta-User am 24 November 2020, 12:19:22Zu der Batterieabfrage kann ich im Moment (noch) nichts beitragen, meine Vermutung wäre, dass man da eigentlich nur ein Intervall und/oder einen Schwellenwert setzen kann.
Nur wo oder Wie kann man die Intervall setzen, aktuell kommt es vor das ein Gerät innerhalb von 24h ein Batteriewert anzeigt, während ein anderes Gerät nur 10 Minuten oder auch 1 Woche brauchen kann, das ist teils sehr unzuverlässig und manchmal krieg ich auch nicht rechtzeitig die Meldung das die Batterie leer ist ::)
Zitat von: Beta-User am 24 November 2020, 12:19:22
zigbee2tasmota ist aber viel eher ein "vorverarbeitender IO-Mechanismus" (ähnlich CUL) wie eine vollwertige ZigBee-Implementierung, von daher wird man vermutlich manches "nachrüsten" müssen, um "hex-payloads" zu erzeugen und auf die richtige (Teil-) Adresse zu versenden.
Bei der Gelegenheit: in https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/toZigbee.js#L1531 gibt's wohl den Hauptteil des Schlüssels, wie koenkk das gelöst hat mit boost etc.. Also falls du einen Hex-Wert unter der Adresse 0x4008 in den Readings hast, müßte das irgendwie dazu passen...
ähhh.. Keine Ahnung was du da meinst.
Paßt doch schon soweit :) .
Erster Versuch:
defmod MQTT2_z2t_ED59_Test MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59_Test genericDeviceType thermostat
attr MQTT2_z2t_ED59_Test jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0 LocalTemperature:measured-temp OccupiedHeatingSetpoint:desired-temp
attr MQTT2_z2t_ED59_Test model tasmota_zigbee2tasmota_eurotronic_spirit_test
attr MQTT2_z2t_ED59_Test readingList tele/tasmota_DC0320/ED59/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xED59.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_ED59_Test setList desired-temp:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
attr MQTT2_z2t_ED59_Test stateFormat Soll: desired-temp °C Ist: measured-temp °C Batterie: BatteryPercentage %
attr MQTT2_z2t_ED59_Test userReadings valve:PIHeatingDemand.* { int(ReadingsNum($name, 'PIHeatingDemand', 0)/2.55)}
attr MQTT2_z2t_ED59_Test webCmd desired-temp
attr MQTT2_z2t_ED59_Test icon hm-cc-rt-dn
Wie du siehst, ist da einiges rausgeworfen, das IODev musst du eventuell wieder nachfüttern, sonst sollte das eigentlich passen.
Mit dem zigbee2mqtt-Hinweis war eigentlich nur der Verweis auf die attrTemplate-File gemeint, da "klaue" ich eigentlich auch ständig... Zu finden z.B. ab hier: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L720
Wenn du setList und jsonMap ansiehst, wirst du sehen, dass da zum einen der "Kreis" in Sende- und Empfangsrichtung geschlossen wurde und einfach dann die in FHEM "üblichen" Benennungen verwendet werden, das sollte eigentlich ein spezielles Mapping komplett überflüssig machen und das Device dann direkt so z.B. für WeekdayTimer/weekprofile direkt verwendbar sein, um Wochenprofile abzubilden und die schnell mal an- und abwesenheitsabhängig tauschen zu können ;) .
Was den Rest angeht, finde ich erst mal dieses Reading interessant:
setstate MQTT2_z2t_ED59 2020-11-25 06:08:18 0001/003E 0
In binärer Codierung wäre das "3E" "00111110" (62 dezimal), aber da bekomme ich im Moment auch noch keine Brücke zu https://www.zigbee2mqtt.io/devices/SPZB0001.html#controlling gebaut...
Vielleicht loggst du einfach mal eine zeitlang, was so (JSON-encoded) über den betreffenden Topic reinkommt? Dazu kannst du eine weitere Zeile in readingList einfügen:
tele/tasmota_DC0320/ED59/SENSOR:.* json_raw
und dann das Reading json_raw in ein eigenes FileLog laufen lassen?
Zitat von: Beta-User am 25 November 2020, 11:34:51
Paßt doch schon soweit :) .
Erster Versuch:
defmod MQTT2_z2t_ED59_Test MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59_Test genericDeviceType thermostat
attr MQTT2_z2t_ED59_Test jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0 LocalTemperature:measured-temp OccupiedHeatingSetpoint:desired-temp
attr MQTT2_z2t_ED59_Test model tasmota_zigbee2tasmota_eurotronic_spirit_test
attr MQTT2_z2t_ED59_Test readingList tele/tasmota_DC0320/ED59/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xED59.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_ED59_Test setList desired-temp:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
attr MQTT2_z2t_ED59_Test stateFormat Soll: desired-temp °C Ist: measured-temp °C Batterie: BatteryPercentage %
attr MQTT2_z2t_ED59_Test userReadings valve:PIHeatingDemand.* { int(ReadingsNum($name, 'PIHeatingDemand', 0)/2.55)}
attr MQTT2_z2t_ED59_Test webCmd desired-temp
attr MQTT2_z2t_ED59_Test icon hm-cc-rt-dn
Wie du siehst, ist da einiges rausgeworfen, das IODev musst du eventuell wieder nachfüttern, sonst sollte das eigentlich passen.
Hab das so eingefügt, im Grunde funktioniert das Thermostat allerdings kenn ich das so das PiHeatingDemand die Ventilposition in % anzeigt, wenn ich die Heizung komplett auf 30 grad (maximum) aufdrehe steht bei PiHeatingDemand 98% und bei valve 38%. Hat das ein Grund?
Zitat von: Beta-User am 25 November 2020, 11:34:51
Wenn du setList und jsonMap ansiehst, wirst du sehen, dass da zum einen der "Kreis" in Sende- und Empfangsrichtung geschlossen wurde und einfach dann die in FHEM "üblichen" Benennungen verwendet werden, das sollte eigentlich ein spezielles Mapping komplett überflüssig machen und das Device dann direkt so z.B. für WeekdayTimer/weekprofile direkt verwendbar sein, um Wochenprofile abzubilden und die schnell mal an- und abwesenheitsabhängig tauschen zu können ;) .
ähm.. ja was sowas wie Wochenprofile und Co angeht, soweit bin ich mit meinem SmartHome noch nicht ;D
Zitat von: Beta-User am 25 November 2020, 11:34:51
Was den Rest angeht, finde ich erst mal dieses Reading interessant:
setstate MQTT2_z2t_ED59 2020-11-25 06:08:18 0001/003E 0
In binärer Codierung wäre das "3E" "00111110" (62 dezimal), aber da bekomme ich im Moment auch noch keine Brücke zu https://www.zigbee2mqtt.io/devices/SPZB0001.html#controlling gebaut...
Vielleicht loggst du einfach mal eine zeitlang, was so (JSON-encoded) über den betreffenden Topic reinkommt? Dazu kannst du eine weitere Zeile in readingList einfügen:
tele/tasmota_DC0320/ED59/SENSOR:.* json_raw
und dann das Reading json_raw in ein eigenes FileLog laufen lassen?
ok ist erledigt, gebe rückmeldung wenn sich da was tut.
//Edit:
Hab mich nun bisschen mit der Temperatur rauf runter gestellt um zumindest paar einträge zu provozieren ob ich überhaupt alles mit der FileLog richtig gemacht habe und ja das kam bisher raus.
2020-11-25_21:54:38 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","PIHeatingDemand":91,"Endpoint":1,"LinkQuality":50}}}
2020-11-25_21:54:39 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","OccupiedHeatingSetpoint":5,"Endpoint":1,"LinkQuality":60}}}
2020-11-25_21:54:44 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","LocalTemperature":25.5,"PIHeatingDemand":0,"OccupiedHeatingSetpoint":5,"UnoccupiedHeatingSetpoint":16,"Endpoint":1,"LinkQuality":50}}}
2020-11-25_21:55:13 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","LocalTemperature":25.5,"PIHeatingDemand":18,"OccupiedHeatingSetpoint":26,"UnoccupiedHeatingSetpoint":16,"Endpoint":1,"LinkQuality":34}}}
2020-11-25_21:55:40 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","PIHeatingDemand":18,"Endpoint":1,"LinkQuality":42}}}
2020-11-25_21:55:46 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","OccupiedHeatingSetpoint":26,"Endpoint":1,"LinkQuality":55}}}
2020-11-25_21:55:58 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","CurrentTemperatureSetPoint":26,"Endpoint":1,"LinkQuality":42}}}
2020-11-25_21:56:04 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","UnoccupiedHeatingSetpoint":16,"Endpoint":1,"LinkQuality":39}}}
2020-11-25_21:56:40 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","PIHeatingDemand":9,"Endpoint":1,"LinkQuality":45}}}
2020-11-25_21:57:56 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","LocalTemperature":22.5,"PIHeatingDemand":9,"OccupiedHeatingSetpoint":26,"UnoccupiedHeatingSetpoint":16,"Endpoint":1,"LinkQuality":47}}}
2020-11-25_21:58:00 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","LocalTemperature":22.5,"Endpoint":1,"LinkQuality":45}}}
2020-11-25_21:58:06 MQTT2_z2t_ED59_Test json_raw: {"ZbReceived":{"HZ_Kinderzimmer":{"Device":"0xED59","Name":"HZ_Kinderzimmer","PIHeatingDemand":77,"Endpoint":1,"LinkQuality":50}}}
Da ich ja nen Seperaten Temperatur Sensor habe muss ich mein Thermostat nach jedem Reset neu Kalibrieren das mache ich mittels diesen Code
{"Device":"HZ_Kinderzimmer","Write":{"LocalTemperatureCalibration":-3}}
das interessante an dem ist in dem aktuel Json_Raw ausschnitt ist zwar zu sehen wie dann die Local Temperatur von 25.5 auf 22.5 fällt allerdings ist im Payload kein Eintrag vorhanden bezüglich "LocalTemperaturCalibration": -3, bei zigbee2mqtt wenn ich das gemacht habe wurde bei jedem payload den mir das thermostat gesendet hat dieser wert angezeigt und auch ein dementsprechendes reading gesetzt in FHEM, Zigbee2Tasmota ignoriert das einfach komplett, es funktioniert zwar aber falls ich ja mal in ein paar Monaten das noch einmal nachstellen möchte weiß ich ja nicht welcher Wert aktuell gesetzt ist :(
Zitat von: xTomi93 am 25 November 2020, 21:45:40
[...]PiHeatingDemand 98% und bei valve 38%. Hat das ein Grund?
;D , falscher Schluss von z2m auf z2t; hier darf man wohl nicht rechnen, das macht tasmota schon => kein userReading, weiteres jsonMap
Zitat
ähm.. ja was sowas wie Wochenprofile und Co angeht, soweit bin ich mit meinem SmartHome noch nicht ;D
Kein Ding, deswegen gibt's ja Leute, die sich u.a. mit "guten" Readingnamen befassen...
Zitat
Hab mich nun bisschen mit der Temperatur rauf runter gestellt um zumindest paar einträge zu provozieren ob ich überhaupt alles mit der FileLog richtig gemacht habe und ja das kam bisher raus.
Sieht schon mal sehr gut aus, das bitte dann auch wieder einfügen/loggen, ansonsten käme erst mal folgendes Zwischenergebnis raus:
defmod MQTT2_z2t_ED59_Test MQTT2_DEVICE z2t_ED59
attr MQTT2_z2t_ED59_Test genericDeviceType thermostat
attr MQTT2_z2t_ED59_Test jsonMap Battery:batteryPercent Device:0 BatteryPercentage:0 LocalTemperature:measured-temp OccupiedHeatingSetpoint:dayTemp UnoccupiedHeatingSetpoint:nightTemp CurrentTemperatureSetPoint:desired-temp PIHeatingDemand:valve
attr MQTT2_z2t_ED59_Test model tasmota_zigbee2tasmota_eurotronic_spirit_test
attr MQTT2_z2t_ED59_Test readingList tele/tasmota_DC0320/ED59/SENSOR:.* { $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xED59.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr MQTT2_z2t_ED59_Test setList desired-temp:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}\
temp-offset:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"LocalTemperatureCalibration":$EVTPART1}}
attr MQTT2_z2t_ED59_Test stateFormat Soll: desired-temp °C Ist: measured-temp °C Batterie: BatteryPercentage %
attr MQTT2_z2t_ED59_Test setStateList on off
attr MQTT2_z2t_ED59_Test webCmd desired-temp
attr MQTT2_z2t_ED59_Test icon hm-cc-rt-dn
Bitte teste mal, ob du statt auf "OccupiedHeatingSetpoint" in
desired-temp:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"OccupiedHeatingSetpoint": $EVTPART1}}
"CurrentTemperatureSetPoint" als Ziel angeben kannst und das dann noch funktioniert. Wenn ja, könnte man die setList um zwei Zeilen erweitern, du ahnst hoffentlich schon, welche?
Dann fehlt noch eine, um zwischen Tag und Nacht umzuschalten, aber da fehlt mir noch das "Ziel".
Zitatdas interessante an dem ist in dem aktuel Json_Raw ausschnitt ist zwar zu sehen wie dann die Local Temperatur von 25.5 auf 22.5 fällt allerdings ist im Payload kein Eintrag vorhanden bezüglich "LocalTemperaturCalibration": -3, bei zigbee2mqtt wenn ich das gemacht habe wurde bei jedem payload den mir das thermostat gesendet hat dieser wert angezeigt und auch ein dementsprechendes reading gesetzt in FHEM, Zigbee2Tasmota ignoriert das einfach komplett, es funktioniert zwar aber falls ich ja mal in ein paar Monaten das noch einmal nachstellen möchte weiß ich ja nicht welcher Wert aktuell gesetzt ist :(
Mit dem "Trick" setStateList sollte zumindest was in einem passenden Reading landen, auch, wenn es noch keine Rückgabe gibt. Vermutlich muss man das aktiv abfragen, dafür bräuchten wir aber erst mal die bekannten Endpoints usw..
Falls du schon ein gewisses "Gefühl" hast, wie das in etwa gehen könnte, müßte in https://tasmota.github.io/docs/Zigbee/#device-information (bzw. dem folgenden Abschnitt) was zu finden sein. Kann sein, dass du dazu dann auch die passenden RAW-JSON an der bridge irgendwie loggen musst (bitte auf einen passenden Filter achten, damit nicht alle RAW-JSON von allen Devices im Log landen, wir sollten erst mal nur bei einem Device bleiben...).
Zitat von: Beta-User am 26 November 2020, 10:30:36
Sieht schon mal sehr gut aus, das bitte dann auch wieder einfügen/loggen, ansonsten käme erst mal folgendes Zwischenergebnis raus:
ok
Zitat von: Beta-User am 26 November 2020, 10:30:36
"CurrentTemperatureSetPoint" als Ziel angeben kannst und das dann noch funktioniert. Wenn ja, könnte man die setList um zwei Zeilen erweitern, du ahnst hoffentlich schon, welche?
Ich gehe mal davon aus um Tag und Nacht Temperatur einzeln einstellen zu können?
Aber leider geht das nicht, das habe ich aber auch bei Z2M schonmal probiert und aktuell wieder diesen Wert kann ich zwar ansteuern, aber das Thermostat selber reagiert darauf nicht.
Zitat von: Beta-User am 26 November 2020, 10:30:36
Dann fehlt noch eine, um zwischen Tag und Nacht umzuschalten, aber da fehlt mir noch das "Ziel".
Mit dem "Trick" setStateList sollte zumindest was in einem passenden Reading landen, auch, wenn es noch keine Rückgabe gibt. Vermutlich muss man das aktiv abfragen, dafür bräuchten wir aber erst mal die bekannten Endpoints usw..
Falls du schon ein gewisses "Gefühl" hast, wie das in etwa gehen könnte, müßte in https://tasmota.github.io/docs/Zigbee/#device-information (bzw. dem folgenden Abschnitt) was zu finden sein. Kann sein, dass du dazu dann auch die passenden RAW-JSON an der bridge irgendwie loggen musst (bitte auf einen passenden Filter achten, damit nicht alle RAW-JSON von allen Devices im Log landen, wir sollten erst mal nur bei einem Device bleiben...).
Hab zwar aktuell noch keine Ahnung wie ich das machen soll, werde es aber heute nach der Spätschicht mal versuchen herauszufinden.
Zitat von: Beta-User am 26 November 2020, 10:30:36
temp-offset:slider,5.0,0.5,30.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"LocalTemperatureCalibration":$EVTPART1}}
Ich habe mich ein bisschen damit herumgespielt, wird sicherlich auch im JSON_Raw ersichtlich sein in welchem Bereich die Kalibrierung funktioniert, mein letzter Stand war 0 +- 5 (aber das kann auch bei einem anderen Thermostat gewesen sein das ich vorher mal hatte) durch ein bisschen probieren habe ich festgestellt es geht im Bereich 0 +-10°C also habe ich den Slider wie folgt angepasst.
temp-offset:slider,-10.0,0.5,10.0,1 cmnd/tasmota_DC0320/ZbSend {"Device":"HZ_Kinderzimmer","Write":{"LocalTemperatureCalibration":$EVTPART1}}
Im Anhang befindet sich die Aktuelle Log Datei.
Sorry wg. des Flüchtigkeitsdingens an "offset"...
Tendenziell ist z2m "intelligenter" als z2t. Von daher würde ich nicht vorschnell vom einen auf das andere schließen - was aber nicht heißt, dass es wirklich auf diese Weise klappt. Eventuell muss man wirklich "hex-payload" erzeugen, und selbst für die Auswertung sorgen (das betrifft dann auch diese "manufacurer specific"-Geschichten).
Für den Aqara vibration ist das hier eigentlich ganz gut beschrieben, wie man "irgendwas" schreibt und liest: https://tasmota.github.io/docs/Zigbee/#aqara-vibration-sensor
Das log schaue ich mir bei Gelegenheit mal durch, allerding bin ich auch ziemlicher noob, was sowas angeht...
Zitat von: Beta-User am 26 November 2020, 11:59:29
Sorry wg. des Flüchtigkeitsdingens an "offset"...
Kein Ding ;)
Ich habe mal über die Tasmota Console ZbStatus 1-3 und ZbProbe ausgeführt und foldendes erhalten
2020-11-27_10:32:40 MQTT2_DVES_DC0320 ZbStatus1: {"ZbStatus1":[{"Device":"0xED59","Name":"HZ_Kinderzimmer"}]}
2020-11-27_10:32:57 MQTT2_DVES_DC0320 ZbStatus1: {"ZbStatus1":[{"Device":"0xED59","Name":"HZ_Kinderzimmer"}]}
2020-11-27_10:33:06 MQTT2_DVES_DC0320 ZbStatus2: {"ZbStatus2":[{"Device":"0xED59","Name":"HZ_Kinderzimmer","IEEEAddr":"0x00158D00053D2D4A","ModelId":"SPZB0001","Manufacturer":"Eurotronic","Endpoints":[1],"Config":["T01"]}]}
2020-11-27_10:33:11 MQTT2_DVES_DC0320 ZbStatus3: {"ZbStatus3":[{"Device":"0xED59","Name":"HZ_Kinderzimmer","IEEEAddr":"0x00158D00053D2D4A","ModelId":"SPZB0001","Manufacturer":"Eurotronic","Endpoints":[1],"Config":["T01"],"ThSetpoint":4,"TempTarget":22,"Temperature":22,"Reachable":true,"BatteryPercentage":20,"LastSeen":28,"LastSeenEpoch":1606469562,"LinkQuality":60}]}
2020-11-27_10:33:47 MQTT2_DVES_DC0320 ZbProbe: Done
2020-11-27_10:33:48 MQTT2_DVES_DC0320 ZbPing_Name: HZ_Kinderzimmer
2020-11-27_10:33:48 MQTT2_DVES_DC0320 ZbPing_IEEEAddr: 0x00158D00053D2D4A
2020-11-27_10:33:48 MQTT2_DVES_DC0320 ZbPing_Device: 0xED59
2020-11-27_10:33:48 MQTT2_DVES_DC0320 ZbState_Status: 32
2020-11-27_10:33:48 MQTT2_DVES_DC0320 ZbState_ActiveEndpoints_1: 0x01
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_Endpoint: 0x01
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_6: 0x000A
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_7: 0x000A
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_2: 0x0001
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_2: 0x0001
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_3: 0x0003
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_DeviceId: 0x0301
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_4: 0x0201
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_5: 0x0019
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_ProfileId: 0x0104
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_1: 0x0000
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_6: 0x0019
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_5: 0x0201
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_DeviceVersion: 1
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_3: 0x0003
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_OutClusters_4: 0x0004
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_Status: 33
2020-11-27_10:33:55 MQTT2_DVES_DC0320 ZbState_InClusters_1: 0x0000
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Name: HZ_Kinderzimmer
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_StatusMessage: SUCCESS
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Device: 0xED59
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Status: 0
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Status: 0
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Device: 0xED59
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_StatusMessage: SUCCESS
2020-11-27_10:34:02 MQTT2_DVES_DC0320 ZbBind_Name: HZ_Kinderzimmer
hmmm, sooo, ja also...?!?
Ist ja schön, dass da was kommt, aber im Moment muss ich zugeben, dass mir das nüscht sacht... Vermutlich müsste da mal jemand mit "hex-converter-Augen" drüber sehen.
Du könntest auf die gemeldeten Endpunkte mal "Read" ausführen, wie im Tasmota-Wiki bei "There will be no response to the command but you can check if the new option is active by using [...]" beschrieben. Kann aber nicht sagen, ob da was kommt, und ob man damit mehr anfangen kann wie mit dem aus dem Log.
Aus dem fand ich noch interessant,
- dass da recht genau alle 20 Min was unter 0201/4008 kam; 0x4008 war doch genau die "manufacturer-specific" Adresse (jetzt nach Zeile 1654 (https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/toZigbee.js#L1654) gewandert, und 0201 wäre dann in binär 0010 0001 (? oder 00000010 00000001). Wenn man das in der vierstelligen Variante rückwärts liest (ausgehend von der Angabe bei https://www.zigbee2mqtt.io/devices/SPZB0001.html#controlling, dass die erste Ziffer immer 1 ist), dann wäre das eine Fenster-Offen-Meldung...? Aber alle 20 Minuten ohne gegenläufige Info? Wäre komisch. Vielleicht reißt du mal das Fenster auf und kuckst, was dann passiert... Vielleicht ändert sich ja tatsächlich der hintere der beiden Werte?
- dieses 0019!01 um 11:19:01 Uhr. Irgendeine Idee? (Vielleicht hat ja jemand eine Idee, was der zugehörige Wert sein könnte - 0037100C11D2E96201, mit https://www.rapidtables.com/convert/number/hex-to-ascii.html kam - wenig überrschend - nichts raus, was man direkt verwenden könnte...)
Zitat von: Beta-User am 27 November 2020, 15:50:07
hmmm, sooo, ja also...?!?
Ist ja schön, dass da was kommt, aber im Moment muss ich zugeben, dass mir das nüscht sacht... Vermutlich müsste da mal jemand mit "hex-converter-Augen" drüber sehen.
Du könntest auf die gemeldeten Endpunkte mal "Read" ausführen, wie im Tasmota-Wiki bei "There will be no response to the command but you can check if the new option is active by using [...]" beschrieben. Kann aber nicht sagen, ob da was kommt, und ob man damit mehr anfangen kann wie mit dem aus dem Log.
hä? ;D
Zitat von: Beta-User am 27 November 2020, 15:50:07
Aus dem fand ich noch interessant,
- dass da recht genau alle 20 Min was unter 0201/4008 kam; 0x4008 war doch genau die "manufacturer-specific" Adresse (jetzt nach Zeile 1654 (https://github.com/Koenkk/zigbee-herdsman-converters/blob/master/converters/toZigbee.js#L1654) gewandert, und 0201 wäre dann in binär 0010 0001 (? oder 00000010 00000001). Wenn man das in der vierstelligen Variante rückwärts liest (ausgehend von der Angabe bei https://www.zigbee2mqtt.io/devices/SPZB0001.html#controlling, dass die erste Ziffer immer 1 ist), dann wäre das eine Fenster-Offen-Meldung...? Aber alle 20 Minuten ohne gegenläufige Info? Wäre komisch. Vielleicht reißt du mal das Fenster auf und kuckst, was dann passiert... Vielleicht ändert sich ja tatsächlich der hintere der beiden Werte?
Die Automatische Fenster Offen Erkennung funktioniert nicht, hab das Fenter ca. 30 Minuten offen gehabt und normal sollte das Thermostat nach 15 Minuten in den Fenster Offen Modus schalten, aber ich denke das wird von der Bridge geregelt und die OEM Bridge hab ich nicht und in Zigbee2MQTT kann man es manuell regeln.
Ich habe versucht per Payload den Wert manuell zu ändern aber das geht nicht ich krieg immer die Meldung
{"Device":"HZ_Kinderzimmer","Write":{"0201/4008":0x05}}
{"Device":"HZ_Kinderzimmer","Write":{"0201/4008":5}}
stat/tasmota_DC0320/RESULT = {"ZbSend":"Unknown attribute type for attribute '�
5 Soll ja demnach heißen das das der FensterOffen Modus aktiv ist.
Hab ich den Wert evtl. Falsch eingegeben? Keine Ahnung.
Zitat von: Beta-User am 27 November 2020, 15:50:07
- dieses 0019!01 um 11:19:01 Uhr. Irgendeine Idee? (Vielleicht hat ja jemand eine Idee, was der zugehörige Wert sein könnte - 0037100C11D2E96201, mit https://www.rapidtables.com/convert/number/hex-to-ascii.html kam - wenig überrschend - nichts raus, was man direkt verwenden könnte...)
ähm.. nein
Meine Idee wäre es irgendwie den zigbee-herdman-converter irgendwie in Zigbee2Tasmota zu integrieren, dieser Regelt auch bei Zigbee2MQTT die ganze geschichte. ;D
Das mit der automatischen Fenster-offen-Erkennung ist m.E. eine firmware-Geschichte und ohne spezielles Setting von der Controller-Seite her sollte das automatisch klappen (ggf. nach einem factory-reset, wenn mal per Controller "Fenster-auf" gesetzt war; das könnte diese Automatik ausschalten, so sie denn überhaupt eingebaut ist (?)). Ist aber alles nur Spekulation...
Erweiterte Controller-Funktionalität sollte man von einem ESP8266 nicht erwarten, da reicht schlicht die Rechenkapazität nicht; falls das je mal jemand auf ESP32 portiert, sieht es ggf. anders aus. Mein überschlägiger Eindruck beim Überfliegen der diversen Projekte: Man will sich auf wenige Kombinationen Software/Interface beschränken, und diese dann lieber richtig bearbeiten (siehe z.B. ConBee II in zigbee2mqtt und den Thread zur Integration von zigbee in Tasmota). Macht m.E. Sinn...
Habe jetzt auch mal eine Sonoff-Bridge umgeflasht und werde ggf. bei Gelegenheit mal damit etwas rumspielen, aber im Moment bin ich dann erst mal ratlos, was den Spirit angeht.
Unseren (ja durchaus nutzbaren) Zwischenstand zum Spirit findest du im nächsten update der mqtt2.template.
Jetzt muss ich erst mal ein ganz anderes Problem fixen...
Zitat von: Beta-User am 29 November 2020, 14:09:05
Das mit der automatischen Fenster-offen-Erkennung ist m.E. eine firmware-Geschichte und ohne spezielles Setting von der Controller-Seite her sollte das automatisch klappen (ggf. nach einem factory-reset, wenn mal per Controller "Fenster-auf" gesetzt war; das könnte diese Automatik ausschalten, so sie denn überhaupt eingebaut ist (?)). Ist aber alles nur Spekulation...
Das Ding ist ich kann es nicht testen, lt. Eurotronic hat das ding die Automatische Erkennung da es per Taste nicht möglich ist diesen Modus Manuell zu aktivieren.
Ohne Verbindung zu einer Zigbee-Bridge kann der Eurotronic nicht verwendet werden er hängt im Join-Modus fest und das wars
Mit einem CC2531 und Zigbee2MQTT auf dem Raspberry ist es ja möglich diesen Modus manuell zu aktiveren, automatisch egal wie lang das fenster offen ist passiert da nichts
Mit einer Sonoff Bridge und Zigbee2Tastmota ist es leider nicht möglich diesen Modus manuell zu aktivieren wie wir ja bis dato festgestellt haben und automatisch da auch nichts wenn das Fenster offen ist.
lt. Eurotronic gibt es auch keine Eigene Bridge in der Anleitung wird nur gezeigt wie man es mit dem Amazon Echo Plus oder Echo Show koppeln kann. Dort habe ich auch diesen ausschnitt gefunden.
ZitatIm Stellwertbetrieb (Manufacturer-Specific-Mode) wird die Fenster-Offen Erkennung nicht ausgeführt
Könnte das bedeuten das dieser Manufacturer-Specific-Mode standard mäßig aktiv ist bei einer Verbindung mit Zigbee2Tastmota?
ZitatErweiterte Controller-Funktionalität sollte man von einem ESP8266 nicht erwarten, da reicht schlicht die Rechenkapazität nicht; falls das je mal jemand auf ESP32 portiert, sieht es ggf. anders aus. Mein überschlägiger Eindruck beim Überfliegen der diversen Projekte: Man will sich auf wenige Kombinationen Software/Interface beschränken, und diese dann lieber richtig bearbeiten (siehe z.B. ConBee II in zigbee2mqtt und den Thread zur Integration von zigbee in Tasmota). Macht m.E. Sinn...
Habe jetzt auch mal eine Sonoff-Bridge umgeflasht und werde ggf. bei Gelegenheit mal damit etwas rumspielen, aber im Moment bin ich dann erst mal ratlos, was den Spirit angeht.
Das heißt?
ZitatUnseren (ja durchaus nutzbaren) Zwischenstand zum Spirit findest du im nächsten update der mqtt2.template.
Eine Sache ist mir dann noch aufgefallen.
Seit ich das Template "tasmota_zigbee2tasmota_generic_battery_sensor" aktiviert habe bei den Heizungsthermostaten sowohl auch bei den aqara Sensoren für Temperatur und Luftfeuchte, wird der Batterie status nicht mehr abgefragt, aktualisiert oder überhaupt ein Reading erstellt ohne Template hat dies aber funktioniert. Was kann der Grund sein?
Zitat
Jetzt muss ich erst mal ein ganz anderes Problem fixen...
hmm.. oke
Zitat von: xTomi93 am 29 November 2020, 16:05:26
Das Ding ist ich kann es nicht testen, lt. Eurotronic hat das ding die Automatische Erkennung da es per Taste nicht möglich ist diesen Modus Manuell zu aktivieren.
Soweit ist es klar...
Zitat
Ohne Verbindung zu einer Zigbee-Bridge kann der Eurotronic nicht verwendet werden er hängt im Join-Modus fest und das wars
Mit einem CC2531 und Zigbee2MQTT auf dem Raspberry ist es ja möglich diesen Modus manuell zu aktiveren, automatisch egal wie lang das fenster offen ist passiert da nichts
Also: Das Teil hat irgendwo einen Bereich, in dem die Einstellungen gespeichert werden. Ob die jeweils bei einem "join" komplett auf "default" zurückgestellt werden: keine Ahnung, häufig ist das nicht der Fall.
Dass zigbee2mqtt eher ein vollwertiger Dienst ist, ist klar, wie gesagt, die Rechenleistung des ESP8266 (u.A. der Microcontroller auf der Sonoff-Bridge) ist zu gering, um wesentlich mehr zu machen wie "Informationen zu makeln".
Daher müßte es eben in FHEM die "Logik" geben, wie man den "Fenster-ist-offen-Wert" (oder den "Stellwertmodus") aktiviert. Wie gesehen: wenn es überhaupt geht, wissen wir nicht, wie die Befehle aussehen müssten.
ZitatKönnte das bedeuten das dieser Manufacturer-Specific-Mode standard mäßig aktiv ist bei einer Verbindung mit Zigbee2Tastmota?
Eher nicht, und in den anderen Varianten wird dieser spezielle Modus auch wieder verlassen, sobald man eine Solltemperatur vorgibt. Glaube nicht, dass das hier anders ist.
ZitatDas heißt?
Dass ich auch erst mal nicht weiter weiß und ggf. aber ein (anderes) Device habe, um ein wenig zu spielen.
Zitat
Eine Sache ist mir dann noch aufgefallen.
Seit ich das Template "tasmota_zigbee2tasmota_generic_battery_sensor" aktiviert habe bei den Heizungsthermostaten sowohl auch bei den aqara Sensoren für Temperatur und Luftfeuchte, wird der Batterie status nicht mehr abgefragt, aktualisiert oder überhaupt ein Reading erstellt ohne Template hat dies aber funktioniert. Was kann der Grund sein?
Irgendwas ist mit der Auswertung komisch, ich weiß aber noch nicht was, oder beim neu Pairen wird die ID geändert (=> anderes Device vorhanden?). Evtl. hat sich da was an der Tasmota-firmware geändert, ich habe da jetzt betr. Battery teilweise im jsonMap angepaßt, aber eigentlich müssten zumindest "normale Readings" durchkommen. Die Motion-Dinger basieren jedenfalls auch auf dem "generic battery", und das hatte vorhin funktioniert...
Habe aber wie gesagt grade auch nicht die Zeit, das intensiver anzusehen.