Autor Thema: Alexa Fhem Temperaturabfrage  (Gelesen 1316 mal)

Offline mrbreil

  • Full Member
  • ***
  • Beiträge: 187
Alexa Fhem Temperaturabfrage
« am: 02 September 2017, 13:11:11 »
Ich möchte mir per Alexa Custom Skill die Zimmertemperatur ausgeben lassen. Aber nur für den Raum in dem der Echo steht. Das Alexaroom Attribut ist für jeden Echo gesetzt.

sub
alexa_temperatur(){

$text = ReadingsVal("Alexa","echoRoom","");
fhem("set teleBot message $text");

if ($text eq "wohnzimmer"){
$text = "Die Temperatur im Wohnzimmer beträgt ".round(ReadingsVal("MAX_136deb","temperature","99"),0). " Grad Celsius.";

}
if ($text eq "schlafzimmer"){
$text = "Die Temperatur im Schlafzimmer beträgt ".round(ReadingsVal("MAX_136586","temperature","99"),0). " Grad Celsius.";

}
if ($text eq "unknown"){
$text = "Die Außentemperatur beträgt ".round(ReadingsVal("Wetter","temperature","99"),0). " Grad Celsius.";

}

return $text


}

Leider wird mir immer die Außentemperatur ausgegeben. Ich verstehe nur leider nicht warum. Kann mal bitte jemand drüber schauen und mir das Brett vorm Kopf entfernen.

Offline Esjay

  • Sr. Member
  • ****
  • Beiträge: 554
Antw:Alexa Fhem Temperaturabfrage
« Antwort #1 am: 02 September 2017, 13:14:42 »
Ich möchte mir per Alexa Custom Skill die Zimmertemperatur ausgeben lassen. Aber nur für den Raum in dem der Echo steht. Das Alexaroom Attribut ist für jeden Echo gesetzt.

sub
alexa_temperatur(){

$text = ReadingsVal("Alexa","echoRoom","");
fhem("set teleBot message $text");

if ($text eq "wohnzimmer"){
$text = "Die Temperatur im Wohnzimmer beträgt ".round(ReadingsVal("MAX_136deb","temperature","99"),0). " Grad Celsius.";

}
if ($text eq "schlafzimmer"){
$text = "Die Temperatur im Schlafzimmer beträgt ".round(ReadingsVal("MAX_136586","temperature","99"),0). " Grad Celsius.";

}
if ($text eq "unknown"){
$text = "Die Außentemperatur beträgt ".round(ReadingsVal("Wetter","temperature","99"),0). " Grad Celsius.";

}

return $text


}

Leider wird mir immer die Außentemperatur ausgegeben. Ich verstehe nur leider nicht warum. Kann mal bitte jemand drüber schauen und mir das Brett vorm Kopf entfernen.

Du kanmst dir mit der Version 0.3.5 die Temperaturen auch per Smarthome Skill ansagen lassen. genericDeviceType auf thermometer und alexaName vergeben.
Grüße

Offline mrbreil

  • Full Member
  • ***
  • Beiträge: 187
Antw:Alexa Fhem Temperaturabfrage
« Antwort #2 am: 02 September 2017, 16:51:44 »
Vielen Dank, werde es ausprobieren. Aber selbst wenn es klappt, ich möchte gerne noch andere Abfragen für jeden Raum unterschiedlich gestalten. Ich verstehe nur nicht warum die Bedingung nicht korrekt funktioniert.

Offline cs-online

  • Full Member
  • ***
  • Beiträge: 492
Antw:Alexa Fhem Temperaturabfrage
« Antwort #3 am: 14 September 2017, 12:10:29 »
hmmm...

Zitat
  Das Alexaroom Attribut ist für jeden Echo gesetzt.


aber: es wird in der Funktion das Attribut "echoRoom" abgefragt, nicht der Alexaroom....
FHEM auf Raspi 2, NanoCul 433 mit V1.65 für IT, NanoCul433 mit a-FW für Eurochrons, HM-CFG-USB-2, HM-WLAN-Gateway,ein paar HM-Aktoren,  2x EBUSD, ESP8266 am Strom-, Gas- , Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Lacrosse-Gateway und Sensoren, Alexa-Fhem... nd da geht noch was

Offline mrbreil

  • Full Member
  • ***
  • Beiträge: 187
Antw:Alexa Fhem Temperaturabfrage
« Antwort #4 am: 14 September 2017, 16:21:00 »
Sorry, du hast recht! Ich meine das Attribut "echoRoom" ist gesetzt.
Also leider noch keine Lösung, aber du bist ein aufmerksamer Leser  :).

Offline cs-online

  • Full Member
  • ***
  • Beiträge: 492
Antw:Alexa Fhem Temperaturabfrage
« Antwort #5 am: 14 September 2017, 18:57:51 »
bei mir ist das auch immer auf "unknown", schau mal, ob im Alexa-Device während des Ausführens der Funktion der EchoRoom wechselt. An der Funktion liegts nämlich nicht, wenn das konstant auf "unknown" bleibt. Einen Reload und ggf. stop und start des Alexa-Dienstes seit der Erstellung der Funktion hast Du durchgeführt ?
FHEM auf Raspi 2, NanoCul 433 mit V1.65 für IT, NanoCul433 mit a-FW für Eurochrons, HM-CFG-USB-2, HM-WLAN-Gateway,ein paar HM-Aktoren,  2x EBUSD, ESP8266 am Strom-, Gas- , Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Lacrosse-Gateway und Sensoren, Alexa-Fhem... nd da geht noch was

Offline mrbreil

  • Full Member
  • ***
  • Beiträge: 187
Antw:Alexa Fhem Temperaturabfrage
« Antwort #6 am: 14 September 2017, 19:25:10 »
Danke für deine Mühe.

Das Reading "echoRoom" wechselt und steht nie auf "unknown". Es wurde ja alle "echoId" vergeben, diente nur zur sicherheit.

Offline cs-online

  • Full Member
  • ***
  • Beiträge: 492
Antw:Alexa Fhem Temperaturabfrage
« Antwort #7 am: 14 September 2017, 19:50:22 »
dachte, weil Du schreibst, es wird immer die Aussentemperatur ausgegeben, und das wäre dann ja dieser Part:

if ($text eq "unknown"){
$text = "Die Außentemperatur beträgt ".round(ReadingsVal("Wetter","temperature","99"),0). " Grad Celsius.";

und da läuft der ja nur rein, wenn $text auch wirklich "unknown" drin hat.

Ist der Telebot ein Dummy, wo man sehen kann, was in $text wirklich rein kommt ? Falls ja, was steht denn da dann jeweils drin ? Falls nein, würde ich ein Dummy anlegen und dann da $text reinschreiben lassen.

Ich würde auch mal probieren bei der Variablenanmeldung ein "my" vor das "$text = ReadingsVal("Alexa","echoRoom","");" zu schreiben.
FHEM auf Raspi 2, NanoCul 433 mit V1.65 für IT, NanoCul433 mit a-FW für Eurochrons, HM-CFG-USB-2, HM-WLAN-Gateway,ein paar HM-Aktoren,  2x EBUSD, ESP8266 am Strom-, Gas- , Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Lacrosse-Gateway und Sensoren, Alexa-Fhem... nd da geht noch was

Offline MadMax-FHEM

  • Hero Member
  • *****
  • Beiträge: 2602
  • NIVEAu ist keine Creme...
Antw:Alexa Fhem Temperaturabfrage
« Antwort #8 am: 14 September 2017, 22:49:50 »
Danke für deine Mühe.

Das Reading "echoRoom" wechselt und steht nie auf "unknown". Es wurde ja alle "echoId" vergeben, diente nur zur sicherheit.

Hi,

ich hatte jetzt auch mal wieder Zeit ein wenig mit Alexa rumzuspielen...

Ich habe Version 0.3.4 laufen.
Den Smart Home Skill aktiviert (nutze ich zu 80%)
Und 2 Custom Skills (da spiele ich grad noch rum)...

Wo hast du die deviceID her?

Es gibt zwar das Reading echoID aber die verändert sich nicht wenn ich den Echo/Dot wechsle es wechselt, wenn ich zwischen meinen 2 Custom Skills wechsle.
Nehme daher an, dass es anzeigt welcher Custom Skill verwendet/angesprochen wurde...

Vielen Dank, Joachim
FHEM 5.8 Pi 3, HM-CFG-USB, 20x HM, ZWave USB Stick, 4x ZWave, Amazon dashButtons, CO2, ESP-Multisensor, FireTV
FHEM 5.8 PI 2, HM-CFG-USB, 17x HM, ZWave USB Stick, 3x Zwave, CO2, KODI
FHEM 5.8 PI 2 (Test): CUL868, mySensors, Alexa, Google Home, Aurora NanoLeaf, KODI
FHEM 5.8 PI 3 (Test): HM-MOD-PCB

Offline mrbreil

  • Full Member
  • ***
  • Beiträge: 187
Antw:Alexa Fhem Temperaturabfrage
« Antwort #9 am: 30 September 2017, 12:41:42 »
Auf die Idee das die ID bei den beiden Skills unterschiedlich sind bin ich gar nicht gekommen, warum auch. Man denk ja die id ist fest. Kann das leider im Moment nicht testen da ich 500 km von meinen echos entfernt bin, so gut sind die mikros Dan auch nicht . Werde es nächste Woche ausprobieren.


Gesendet von iPad mit Tapatalk

Offline Hero_Otto

  • New Member
  • *
  • Beiträge: 6
Antw:Alexa Fhem Temperaturabfrage
« Antwort #10 am: 05 November 2017, 17:46:08 »
Du kanmst dir mit der Version 0.3.5 die Temperaturen auch per Smarthome Skill ansagen lassen. genericDeviceType auf thermometer und alexaName vergeben.
Grüße
Hallo Esjay, ich versuche dies gerade ohne Custom Skill unter alexa-fhem 0.3.4.

Dennoch erhalte ich die folgende Fehlermeldung:
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Query","name":"GetTemperatureReadingRequest","payloadVersion":"2","messageId":"ffba5a49-e394-4446-af8b-1f78ca5e1cf6"},"payload":{"accessToken":"Atza|IwEBIKSo-tKjNDUHb-tLSXFyXV5H2NFvOjPj11zJIXX9N8SKB52g-7ycY7-UnIJNDRa1HzBdVrYdRWhHpnM8RyqZLc1YAzZ-SMkRH57JNGGKVZq4AiLEA5sTczxAfBs9YyZZ9zvN0HMZ15scSW9e42LYULVwzgg4uqJWV7OO804RcGxPkl-nftNs3uhga-Ev3pgWr_qyRP1B5jApwqISUfuJk288ceChySJTAqrYpFie9ADMou2zH_7vTU7mTo7yNkSsl-K7Zv_pgBY-bwFUC8XhUfZ7cXrbwzP2Qp-FguxOgUhLZIx1NzqjCqDVxBiX_JeqhFUM_wTlfDYNUsZcrdtjcZjV6Gx5POz4cLvL9SpJN_yKT1GwPdTy5ZEAmXkcdWnTPtEqAp86TO74cZhRtH3lcHUKs0XgMUS6pDCSX49Thhr9G_0cNaritTr8jUjLkS-rYNtU_i1d376v_3WAZcK7_Vn4m1NoTR5PpxNFbATBO2os6lenvH9RZD6-hNJwpGFNNUA","appliance":{"applianceId":"HM_Temperatursensor_Schlafzimmer","additionalApplianceDetails":{"device":"HM_Temperatursensor_Schlafzimmer"}}}}
**** Error: "Unsupported operationGetTemperatureReadingRequest"

Mein Device:
    "Readings": {
      "1.HUMIDITY": { "Value":"69", "Time":"2017-11-05 17:41:55" },
      "1.TEMPERATURE": { "Value":"15.800000", "Time":"2017-11-05 17:41:55" },
      "hmstate": { "Value":"Initialized", "Time":"2017-11-05 17:41:55" },
      "state": { "Value":"Initialized", "Time":"2017-11-05 10:29:18" }
    },
    "Attributes": {
      "IODev": "d_ccu",
      "alexaName": "Schlafzimmer",
      "alexaRoom": "Schlafzimmer",
      "genericDeviceType": "thermometer",
      "homebridgeMapping": "CurrentTemperature=1.TEMPERATURE",
      "room": "60_Schlafzimmer,93_Alexa,94_Homematic",
      "stateFormat": "Temperatur: 1.TEMPERATURE°C Luftfeuchte: 1.HUMIDITY%"
    }

Offline Esjay

  • Sr. Member
  • ****
  • Beiträge: 554
Antw:Alexa Fhem Temperaturabfrage
« Antwort #11 am: 05 November 2017, 18:34:03 »
Bitte nutz Code Tags..Das # Symbol über der Texteingabemaske. Du brauchst ein reading temperature..Nicht TEMPERATURE!!!

Gruß

Offline Hero_Otto

  • New Member
  • *
  • Beiträge: 6
Antw:Alexa Fhem Temperaturabfrage
« Antwort #12 am: 07 November 2017, 14:46:40 »
Hallo Esjay.

Das verstehe ich leider nicht. Mein Device hat folgende Readings:
"Readings": {
      "0.AES_KEY": { "Value":"2", "Time":"2017-11-05 20:21:45" },
      "0.CONFIG_PENDING": { "Value":"false", "Time":"2017-11-05 20:21:45" },
      "0.LOWBAT": { "Value":"false", "Time":"2017-11-05 20:21:45" },
      "0.RSSI_DEVICE": { "Value":"1", "Time":"2017-11-05 20:21:45" },
      "0.RSSI_PEER": { "Value":"201", "Time":"2017-11-05 20:21:45" },
      "0.STICKY_UNREACH": { "Value":"false", "Time":"2017-11-05 20:21:45" },
      "0.UNREACH": { "Value":"false", "Time":"2017-11-05 20:21:45" },
      "1.HUMIDITY": { "Value":"60", "Time":"2017-11-07 14:38:10" },
      "1.TEMPERATURE": { "Value":"17.200000", "Time":"2017-11-07 14:38:10" },
      "hmstate": { "Value":"Initialized", "Time":"2017-11-07 14:38:10" },
      "state": { "Value":"Initialized", "Time":"2017-11-05 20:21:18" }
    },

Wie kann ich da einen anderen verwenden?

Ich habe natürlich folgendes probiert:
"homebridgeMapping": "CurrentTemperature=temperature"Doch der Fehler bleibt der gleiche.

Gruß
Otto


Offline TomLee

  • Full Member
  • ***
  • Beiträge: 253
Antw:Alexa Fhem Temperaturabfrage
« Antwort #13 am: 07 November 2017, 18:50:25 »
Möglicherweise hilft ein:

CurrentTemperature=1.TEMPERATURE
Stelle selbst gerade fest, das Alexa die Temperaturabfrage, mit dem 'Smart Home Skill' (0.3.5) nun endlich bei mir korrekt ansagt. Nicht als Datum.
« Letzte Änderung: 07 November 2017, 19:02:44 von TomLee »

Offline Hero_Otto

  • New Member
  • *
  • Beiträge: 6
Antw:Alexa Fhem Temperaturabfrage
« Antwort #14 am: 07 November 2017, 20:32:06 »
Hi TomLee.

Genau das war meine vorherige Einstellung (siehe weiter oben) mit der es ebenfalls nicht funktioniert hat.

Das merkwürdige ist, dass Alexa die Temperatur kennt, denn ich sehe im LOG:
2017-11-07 20:25:45 caching: HM_Temperatursensor_Schlafzimmer-1.TEMPERATURE: 16.300000
 Aber sie sagt "Schlafzimmer reagiert gerade nicht" und erzeugt diese Fehlermeldung:
**** Error: "Unsupported operationGetTemperatureReadingRequest"

Gruß
Otto

 

decade-submarginal