alexa-fhem Thermostat Mapping - Solltemperatur falsch

Begonnen von Dave90, 22 Oktober 2020, 12:12:14

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

Zitat von: mr_petz am 03 November 2020, 13:31:21
was mir noch ein- bzw. auffällt, was wir noch ändern könnten ist:

event-on-change-reading actorState

da wird nur eine Änderung von on bzw off bei einem event übergeben.
änder mal in:

event-on-change-reading .*


bei event-on-change-reading .* wir bei JEDEM Reading ein Event nur bei Änderung erzeugt!!

Also "noch schlimmer" als es auf bestimmte Readings einzuschränken...

Wenn man mehr Events will/braucht, dann das Attribut mal ganz löschen!
(oder event-on-update-reading entsprechend setzen oder event-min-interval etc.)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

mr_petz

#16
Zitat von: MadMax-FHEM am 03 November 2020, 13:33:22
bei event-on-change-reading .* wir bei JEDEM Reading ein Event nur bei Änderung erzeugt!!

soll ja erst mal nur zum testen sein!
ist mir schon klar für was es steht.

Und bei mqtt muss glaube noch ein publishSet mit rein.
Und halt die setlist.

Ja und den Krypt-Key im Beitrag vom list alexa-device raus löschen!!

Dave90

Danke! Crypt key habe ich rausgelöscht.

Das setList attribut gibt es sowohl bei dem Heizungsdevice als auch bei dem mqtt device nicht. Muss/Kann man das händisch anlegen? Brauchte ich bisher noch nicht.
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

Dave90

Evtl. ne blöde Frage...:
Die einzelnen homebridge mappings sind über enter getrennt (also new line), oder? Ich arbeite über das attr textfeld/poup.

Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

mr_petz

#19
Zitat von: Dave90 am 03 November 2020, 13:59:23
Das setList attribut gibt es sowohl bei dem Heizungsdevice als auch bei dem mqtt device nicht. Muss/Kann man das händisch anlegen? Brauchte ich bisher noch nicht.

ja musst du unter attr setlist händisch anlegen.
Bsp.:
setList: slider,10,0.5,30
hier ein link zum slider:
https://forum.fhem.de/index.php?topic=15086.0


Zitat von: Dave90 am 03 November 2020, 14:09:42
Evtl. ne blöde Frage...:
Die einzelnen homebridge mappings sind über enter getrennt (also new line), oder? Ich arbeite über das attr textfeld/poup.

ja ist ok


amenomade

ZitathomebridgeMapping TargetTemperature=desired-temp:desired-temp,minValue=16,maxValue=26,minStep=0.5,nocache=1
desired-temp:desired-temp ist auf jeden Fall falsch. Deswegen
Zitatwz_Heizung is NOT a thermostat. set command for target temperature missing
Es muss desired-temp::desired-temp sein.

PWMR kalkuliert viele Sachen automatisch. Eine Frage wäre: wie bewegt sich das Reading desired-temp kurz nach einem set desired-temp Kommando?
Und dann wäre die alexa-fhem Log - mit korrektem Mapping und mit korrektem event-on-change-reading - interessant zu sehen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Beta-User

Zitat von: MadMax-FHEM am 03 November 2020, 13:31:35
Und bzgl. MQTT mal einen Thread suchen, soweit ich im Kopf habe "bastelt" Beta-User gerade (an dieser "Baustelle") rum...
Im Moment "bastle" ich eigentlich nicht an den Sprachsteuerungs-Themen rum, ich war nur jüngst über "Color"-Fragen bei Tasmota@MQTT2_DEVICE gestolpert.

Allerdings ist @betateilchen gestern (?) über was komisches gestolpert, aber das ist vermutlich eine ganz andere Baustelle: https://forum.fhem.de/index.php/topic,115475.0.html

ZitatDen "Umweg" über dummy etc. sollte (muss) man vermeiden!
Fully agreed!

Vielleicht zu dem hier noch eine Anmerkung:
Zitat von: mr_petz am 03 November 2020, 14:24:54
ja musst du unter attr setlist händisch anlegen.
"Eigentlich" sollten alle Sprachsteuerungen automatisch anhand der setter erkennen können, "was geht". Bei MQTT_DEVICE wird das aber anders gefüllt, nicht wie bei dummy und MQTT2_DEVICE über setList, sondern über publishSet bzw. publishSet_<reading> (siehe cref):
publishSet on off switch:on,off level:slider,0,1,100 /topic/123
publishSet_<reading> [<values>]* <topic>


Will man direkt am MQTT_DEVICE einen slider haben, geht das übrigens in der "publishSet_<reading>-Variante" ggf. mit widgetOverride, auch dafür braucht es keinen dummy...

Aber - mal wieder - ohne ein list des eigentlichen Devices in Gänze ist das alles ein schauriges Rumgerate >:( .
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

mr_petz

#22
Zitat von: Beta-User am 04 November 2020, 14:20:48
Vielleicht zu dem hier noch eine Anmerkung:"Eigentlich" sollten alle Sprachsteuerungen automatisch anhand der setter erkennen können, "was geht". Bei MQTT_DEVICE wird das aber anders gefüllt, nicht wie bei dummy und MQTT2_DEVICE über setList, sondern über publishSet bzw. publishSet_<reading>

ja hatte ich auch schon angedacht siehe oben.
Zitat von: mr_petz am 03 November 2020, 13:42:49
Und bei mqtt muss glaube noch ein publishSet mit rein.
Und halt die setlist.

in meinem ebusd_mqtt2 device (als thermostat eingebunden, ohne dummys) brauchte ich wie du sagst kein publishSet zur Sprachsteuerung nur das setlist.

Beta-User

Zitat von: mr_petz am 04 November 2020, 14:40:57
in meinem ebusd_mqtt2 device (als thermostat eingebunden, ohne dummys) brauchte ich wie du sagst kein publishSet zur Sprachsteuerung nur das setlist.
Sorry for going OT:

Die ebus-Geschichte ist mal entstanden, bevor das mit der Sprachsteuerung dazukam. "Eigentlich" glaube ich immer noch, dass die heutigen attrTemplate für ebus noch verbesserungsfähig sind, grade was "standardisierte Reading-Namen" und Einbindung in Sprachsteuerung angeht.

Hier hatte ich dazu mal "Hilfe" gerufen, ohne dass bisher Rückmeldung erfolgt wäre:
Zitat von: Beta-User am 28 Juni 2020, 08:59:13
Aber wenn ich mir das so anschaue, ist das irgendwie gefühlt "noch nicht fertig", oder täuscht mich das?

Was die Namensvergabe des Readings (bzw. allg. der setter und (etwas weniger) der getter, sofern die wirklich unterscheidlich sein müssen (denke eigentlich nicht?)) angeht, bin ich auch nicht wirklich zufrieden. Eigentlich müßte man das mMn. ähnlich angehen wie im AV-Bereich und sowas wie standardisierte (englische) Readingnamen einführen.
Würe hier evtl. zu heatCurve führen, hat man mehrere, müßte man eben für jede je ein eigenes Device generieren und den Rest mittels "jsonMap xy:0" ausblenden.

Wie dem auch sei, im Moment weiß ich noch nicht so recht, wie ich mit der Info weitermachen kann. Hier wäre es wirklich gut, einen kompletten Vorschlag zu haben...
Vielleicht magst du den Ball aufgreifen und in dem verlinkten Thread mal aufzeigen, wie du das konkret gemacht hast. Würde es "Nachahmern" und Neueinsteigern leichter machen, und grade ist eine V3 des Adapters am Anlaufen...
(Es ist nicht so kompliziert mit den attrTemplate, wie es eventuell ausschaut, keine Sorge)
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

Dave90

Vielen Dank für die vielen Antworten und sorry, dass es ein wenig gedauert hat mit der Rückmeldung.

Also das Problem lag tatsächlich an dem event-on-change-reading actorState. Nachdem ich das entfernt habe, funktioniert setzen und auslesen der Temperaturen ohne Probleme, auch ohne den nocache=1 Befehl. Das derzeitige mapping sieht also wie folgt aus:


TargetTemperature=desired-temp,minValue=16,maxValue=26,minStep=0.5
CurrentTemperature=temperature
CurrentHeatingCoolingState=actorState,values=off:OFF;;on:HEAT
TargetHeatingCoolingState=actorState,values=off:OFF;;on:HEAT


Das einzige was mich wundert ist, dass in der Alexa App immer "Wärme" als Status angezeigt wird, auch wenn der actorState off korrekt in OFF gemapped wird und auch im log erkannt wird.
Beispiel für off:
[11/4/2020, 10:55:30 AM] [FHEM]     caching: TargetTemperature: 21.5 (as number; from '21.5')
[11/4/2020, 10:55:30 AM] [FHEM]     caching: TargetHeatingCoolingState: OFF (as string; from 'off')
[11/4/2020, 10:55:30 AM] [FHEM]     caching: CurrentTemperature: 21.97 (as number; from '21.97')

Beispiel für on:
[11/4/2020, 8:39:33 PM] [FHEM]     caching: CurrentTemperature: 22.01 (as number; from '22.01')
  2020-11-04 20:42:33 caching: sz_Heizung-temperature: 21.49
[11/4/2020, 8:42:33 PM] [FHEM]     caching: CurrentTemperature: 21.49 (as number; from '21.49')
  2020-11-04 20:42:33 caching: sz_Heizung-actorState: on
[11/4/2020, 8:42:33 PM] [FHEM]     caching: CurrentHeatingCoolingState: HEAT (as string; from 'on')
[11/4/2020, 8:42:33 PM] [FHEM]     caching: TargetHeatingCoolingState: HEAT (as string; from 'on')


Bzgl. dem mqtt device: Das mit dem slider ist irgendwie durcheinander gegangen. Ich wollte gar keinen Slide implemtieren. Mir war nur aufgefallen, dass bei den mqtt devices eben auch der Status nicht korrekt in alexa synchronisiert wurde. Das die mqtt devices nicht funktioniert haben, lag tasächlich auch an dem event-on-change-reading Attribut. Diese funktionieren nun auch :)

Bleibt aslo als letzte Baustelle nur noch der State (HEAT, COOL, OFF) beim thermostat...

Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

mr_petz

#25
siehe hier:
https://forum.fhem.de/index.php/topic,110531.0.html

leider will justme1968 das nicht ändern...

Edit: Link geändert.