Autor Thema: [alexa-fhem] Mapping und Alexa-APP  (Gelesen 2594 mal)

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
[alexa-fhem] Mapping und Alexa-APP
« am: 23 April 2020, 19:42:25 »
Hi,
Wieso wird in der server.js hinter value das "HEAT" beim thermostat immer mitgegeben und nicht current?
  if( mapping = device.mappings.TargetHeatingCoolingState ) {
    var current = device.fhem.reading2homekit(mapping, device.fhem.cached(mapping.informId));
    if (current !== undefined)
      properties.push({
        "namespace": NAMESPACE_ThermostatController,
        "name": "thermostatMode",
        "value": "HEAT",
        "timeOfSample": new Date(Date.now()).toISOString(),
        "uncertaintyInMilliseconds": 500
      });
  }

Bei mr wird in der AlexaApp immer nur Wärme angezeigt.
Wenn ich aber auf current umschreibe, dann bekomme ich alle Modi´s bei Statuswechsel in der App angezeigt..
mfg
« Letzte Änderung: 25 August 2020, 19:01:00 von mr_petz »

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:Allgemeine Verständnisfrage zum Mapping
« Antwort #1 am: 14 Mai 2020, 19:58:59 »
Hi,
da keiner geantwortet hat, schließe ich daraus dass es keinen besonderen Grund gibt.
Also könntet ihr es in der server.js ändern. Da brauche ich es nicht nach einem Update machen. Also

"value": "HEAT",
mit
"value": "current",

ersetzen. Danke.

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping
« Antwort #2 am: 12 Juni 2020, 12:32:34 »
@ justme1968

Also wie gesagt, bei mir wird es nur mit "current" richtig übergeben. kannst du das ändern oder doch nicht???
Geht es bei allen anderen die die AlexaApp nutzen?
im Git ist alles beim alten.

edit:
https://github.com/justme-1968/alexa-fhem/blob/master/lib/server.js#L2796
https://github.com/justme-1968/alexa-fhem/blob/master/lib/server.js#L2801

mfg
« Letzte Änderung: 15 Juli 2020, 16:34:39 von mr_petz »

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping
« Antwort #3 am: 15 Juli 2020, 16:39:12 »
Kein interesse? Keine Aussage? Niemand?

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #4 am: 25 August 2020, 19:02:34 »
Hi, immer noch niemand eine Meinung oder Aussage?

Hier auch keine Änderung...:
https://github.com/justme-1968/alexa-fhem/blob/master/lib/server.js#L2801

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21036
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #5 am: 25 August 2020, 19:25:21 »
an dieser stelle geht um den mode. nicht die aktuelle temperatur.

laut api (https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-property-schemas.html#thermostat-mode) ist hier nur AUTO, COOL, HEAT, ECO und OFF erlaubt.

weder current als zahl noch current als string. letzteres wäre auch noch völlig sinnlos und ich kann mir nicht vorstellen das damit irgendetwas besser geht.

von diesen erlaubten werten ist in deutschland normalerweise eigentlich nur HEAT und OFF sinnvoll.


ein paar zeilen weiter unten wird die aktuelle temperatur d.h. current als zahl gesetzt und ein paar zeilen weiter oben die gewünschte temperatur ebenfalls als zahl.


der von dir eingebauter fehler hat nur zufällig als nebeneffekt das wie von dir gewünscht der mode zu setzen ist.

ums das auf dem richtigen und vorgesehen weg zu tun muss man bei der discovery supportedModes korrekt zurück liefern. das geht in dem du im homebridgeMapping für die TargetHeatingCoolingState characteristic das cmds attribut richtig setzt.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #6 am: 25 August 2020, 21:20:40 »
Ok, danke füt die Auskunft justme1968.

Kannst du mit bitte sagen was hier nicht stimmen könnte?:
attr MQTT2_ebusd homebridgeMapping CurrentTemperature=Status16_temp_value,nocache=1 \
TargetHeatingCoolingState=heatingState,values=HEAT:HEAT;;AUTO:AUTO;;OFF:OFF;;COOL:OFF;;ECO:ECO,cmds=OFF:Heizmodus+off;;HEAT:Heizmodus+on;;ECO:Heizmodus+eco;;AUTO:Heizmodus+auto;;COOL:Heizmodus+off,valid=OFF;;HEAT;;ECO;;AUTO;;COOL\
CurrentHeatingCoolingState=heatingState,values=HEAT:HEAT;;ECO:ECO;;AUTO:AUTO;;OFF:OFF;;COOL:OFF\
TargetTemperature=Status_2_value,minValue=0,maxValue=28,minStep=0.5,nocache=1

Wenn ich noch mehr zeigen soll, sag es bitte.
Danke.

mfg mr_petz

ps.: So kann ich es auch mit meinen Sonos steuern. Die Temperatur ist meine Aussentemperatur. Ich habe praktisch meine Heizung als Thermostat konfiguriert.

Zitat von: justme1968
an dieser stelle geht um den mode. nicht die aktuelle temperatur.

thermostat-mode ist hier nur AUTO, COOL, HEAT, ECO und OFF erlaubt.

von diesen erlaubten werten ist in deutschland normalerweise eigentlich nur HEAT und OFF sinnvoll.
Da brauche ich leider alles....
« Letzte Änderung: 30 August 2020, 12:00:26 von mr_petz »

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #7 am: 30 August 2020, 15:02:52 »
Hi justme1968.
Sorry ich glaube hier ist was falsch verstanden oder erläutert worden.
an dieser stelle geht um den mode. nicht die aktuelle temperatur.

....

weder current als zahl noch current als string. letzteres wäre auch noch völlig sinnlos und ich kann mir nicht vorstellen das damit irgendetwas besser geht.

Darum geht es mir doch und current als string geht.

Hier mal mein Auszug aus dem Alexa-Log.
Ich schalte per Sonos-Alexa die Heizung von Auto auf aus (aus geht aber nur über den Umweg Cool, da Alexa Aus nicht kennt).
[30/08/2020, 09:17:48] [FHEM]     caching: TargetTemperature: 27.56 (as string; from '27.56')
[30/08/2020, 09:17:48] [FHEM]     caching: TargetHeatingCoolingState: AUTO (as string; from 'AUTO')
[30/08/2020, 09:17:48] [FHEM]     caching: CurrentTemperature: 14.38 (as string; from '14.38')
[30/08/2020, 09:17:48] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.ThermostatController","name":"targetSetpoint","value":{"value":27.56,"scale":"CELSIUS"},"timeOfSample":"2020-08-30T07:17:48.155Z","uncertaintyInMilliseconds":500},{"namespace":"Alexa.ThermostatController","name":"thermostatMode","value":"AUTO","timeOfSample":"2020-08-30T07:17:48.159Z","uncertaintyInMilliseconds":500},{"namespace":"Alexa.TemperatureSensor","name":"temperature","value":{"value":14.38,"scale":"CELSIUS"},"timeOfSample":"2020-08-30T07:17:48.163Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"d39ae3fe-1c7f-4f6c-ab68-0da555c8b103","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"xxx"},"endpointId":"xxx"},"payload":{}}}
  2020-08-30 09:17:49 caching: MQTT2_ebusd-heatingState: OFF
[30/08/2020, 09:17:49] [FHEM]     caching: CurrentHeatingCoolingState: OFF (as string; from 'OFF')
[30/08/2020, 09:17:49] [FHEM]     caching: TargetHeatingCoolingState: OFF (as string; from 'OFF')
  2020-08-30 09:17:49 caching: MQTT2_ebusd-Status_2_value: 27.69

TargetTemperature ist meine VorlaufTemp.
CurrentTemperature ist meine Außentemp.

Also nochmal. Mir geht es ja um Auto, HEAT, Eco, Aus, Cool!
Ich wollte dir nur sagen, das bei mir nur mit dem Eintrag current alles Angezeigt wird in der Alexa-App.
Hoffentlich ist es jetzt klarer was ich sagen wollte.
Ich will ja nur helfen.

mfg mr_petz
« Letzte Änderung: 04 November 2020, 18:01:07 von mr_petz »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16884
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #8 am: 10 November 2020, 13:44:18 »
Hi justme1968,

wenn ich nochmal auf das hier zurückkommen darf:
laut api (https://developer.amazon.com/en-US/docs/alexa/device-apis/alexa-property-schemas.html#thermostat-mode) ist hier nur AUTO, COOL, HEAT, ECO und OFF erlaubt.

[...]

ums das auf dem richtigen und vorgesehen weg zu tun muss man bei der discovery supportedModes korrekt zurück liefern. das geht in dem du im homebridgeMapping für die TargetHeatingCoolingState characteristic das cmds attribut richtig setzt.
Da gerade etwas Bewegung in dem ebus-attrTemplate-Thema drin ist, würde ich das gerne in V2 "richtig" aufgleisen und dann auch die Reading-Benennung usw. passend gestalten. Wäre nett, wenn du kurz hier reinschauen würdest und dann (gerne hier) kurz Rückeldung geben könntest, ob meine Schlussfolgerung soweit paßt, dass man den "allgemeinen Betriebsmodus" bei einem zentralen Heizungsgerät wohl sinnvollerweise "thermostatMode" nennen sollte...?

(Dasselbe Problem stellt sich bei ems-esp und vermutlich auch bei Mitsubishi-Klimaanlagen: https://forum.fhem.de/index.php/topic,114282.msg1099967.html#msg1099967 )
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 21036
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #9 am: 10 November 2020, 14:09:07 »
die characteristic muss TargetHeatingCoolingState lauten, als reading wird mode automatisch erkannt.

die werte können im cmds element hinterlegt werden. also etwa so:
TargetHeatingCoolingState=<reading>,cmds=CUSTOM:<cmd1>+<value1>;HEAT:<cmd2>+<value2>;...
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 16884
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #10 am: 10 November 2020, 14:28:39 »
Danke für die schnelle Rückmeldung, "mode" sollte als Readingname ja ohne weiteres möglich sein, dann machen wir das so...

Kurze Fragen noch:
- wenn das Reading "mode" heißt (und die Werte in beide Richtungen zu der Liste  AUTO, COOL, HEAT, ECO und OFF passen), benötigt man dann überhaupt noch ein mapping oder geht das - wie bei desired-temp - in dem Fall wieder automatisch?
- ist die API generell so zu lesen, dass da immer die "Geräteklasse"+"Reading mit großem Anfangsbuchstaben" steht (also thermostat für die property (?) + Mode für "mode"?!? (Dann kann ich mich da ggf. künftig ohne solche doofen Rückfragen versuchen zu orientieren, an willigen Testern fehlt es ja in der Regel nicht).
Server: HP-T620@Debian 11, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Online mr_petz

  • Sr. Member
  • ****
  • Beiträge: 597
Antw:[alexa-fhem] Mapping und Alexa-APP
« Antwort #11 am: 20 Januar 2022, 20:04:16 »
Ahhhh.
"value": "HEAT",
ist jetzt
"value": current,
Du hast es abgeändert. Dankeschön.   :)
https://github.com/justme-1968/alexa-fhem/commit/12671b21650b549cfc797b9faf4c4361a206dd33#diff-1b48bb429de959672dadab9c87c215e19177dd70e3bd932d131ce74294c44cd5R2833
Habe es aber jetzt erst mitbekommen. Muss ich erst updaten und noch berichten...
Darf ich fragen warum?

LG mr_petz