NEWS
Temperatur wird über Alexa falsch gesetzt
-
Ich habe bei mir alexa 2.0 und iot 1.12.4 laufen (Node.js 16.18.1, NPM 8.19.2).
Ich habe schon für einen Datenpunkt zur Temperaturvorgabe über die Vis erstellt:
{ "_id": "0_userdata.0.Temperaturvorgabe_Büro", "type": "state", "common": { "name": "Temperaturvorgabe_Büro", "role": "", "type": "number", "desc": "Manuell erzeugt", "unit": "° C", "min": 0, "max": 38, "def": 0, "read": true, "write": true, "custom": { "iot.0": { "smartName": { "de": "Temperatur Büro", "smartType": "THERMOSTAT" } } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1667698787831 }
Der Datenpunkt ist in iot als THERMOSTAT eingebunden.
Wenn ich nun über Alexa die Temperatur auf 21 Grad setze, wird der DP auf 7,98 Grad gesetzt.
Was habe ich übersehen?
-
@m-m Hi, meine Datenpunkte für Thermostate sehen so aus:
{ "_id": "0_userdata.0.Heizung.TemperaturKüche", "type": "state", "common": { "name": "TemperaturKüche", "role": "value.temperature", "type": "number", "desc": "Manuell erzeugt", "unit": "°C", "min": 15, "max": 25, "def": 15, "read": true, "write": true, "smartName": { "de": "TemperaturKochen", "smartType": "THERMOSTAT" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1644063181461 }
Der einzige Unterschied, den ich sehe, wäre "role" bei mir "value.temperature" und das du wohl ein Leerzeichen bei Unit zwischen ° und C hast.
Hast du mal beim Alexa2 Adapter unter Objekte geschaut, unter History summery was Alexa versteht, wenn du den Befehl gibst? Was gibt sie denn für eine Antwort auf deinen Befehl?
-
@frankyboy73
Ich höre von Alexa nur den BestätigungstonJetzt habe ich die role gesetzt, in der History steht "setze temperatur büro zwanzig grad" hat sie verstanden. Aber der DP wird nicht mehr aktualisiert
-
Jetzt hat sie ihn aktualisiert, bei 38 Grad wurde der DP auf 14,44 gesetzt?!
-
@frankyboy73
OKMit den Einstellungen wird die Temperatur als % vom Max Wert gesetzt:
{ "_id": "0_userdata.0.Temperaturvorgabe_Bad", "type": "state", "common": { "name": "Temperaturvorgabe_Bad", "role": "value.temperature", "type": "number", "desc": "Manuell erzeugt", "unit": "° C", "min": 7, "max": 30, "def": 0, "read": true, "write": true, "custom": { "iot.0": { "smartName": { "de": "Temperatur Bad", "smartType": "THERMOSTAT" } } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1668020958366 }
"temperatur bad hundert grad" und die Temperatur ist bei 30 ° C
-
Gehe ich direkt auf das Thermostat vom Heizkörper, dann klappt es. Ich steuere mit dem manuellen DP aber teilweise mehrere Heizkörper in einem Raum
{ "type": "state", "common": { "name": "OG Büro heatsetpoint", "type": "number", "role": "level.temperature", "read": true, "write": true, "unit": "°C", "def": 20, "custom": { "iot.0": { "smartName": { "de": "Heizung Büro", "smartType": "THERMOSTAT" } } } }, "native": {}, "_id": "deconz.0.Sensors.6.heatsetpoint", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1668021702283 }
"stelle heizung büro auf fünf und zwanzig grad" und der DP ist auf 25°C gegangen
-
min und max gelöscht, role auf level.temperature gesetzt und die unit angeglichen (glaube nicht dass das einen Unterschied macht) und es funktioniert:
{ "_id": "0_userdata.0.Temperaturvorgabe_Büro", "type": "state", "common": { "name": "Temperaturvorgabe_Büro", "role": "level.temperature", "type": "number", "desc": "Manuell erzeugt", "unit": "°C", "def": 20, "read": true, "write": true, "custom": { "iot.0": { "smartName": { "de": "Heizung Büro", "smartType": "THERMOSTAT" } } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1668022098039 }
-
@m-m Hi, ich habe es mal getestet, wenn ich bei mir die unit auf ° C mit Leerzeichen dazwischen stelle, funktioniert es bei mir auch nicht mehr richtig. Also ist die unit schon wichtig.