Alexa Connector, Ansage Temperatur als Datum

Begonnen von HansDampfHH, 15 Dezember 2019, 09:02:43

Vorheriges Thema - Nächstes Thema

HansDampfHH

Hallo, leider habe ich ein weiteres Problem welches ich nicht gelöst bekomme.
Die Ansage von Temperaturen erfolgt leider als Datum. Angeblich war das ein Problem einer älteren Version.

Ich nutze allerdings eine aktuelle Version:

Internals:
   FD         12
   FUUID      5dc70f63-f33f-1920-df45-26547b11199fa643
   FVERSION   39_alexa.pm:0.206260/2019-11-30
   LAST_START 2019-12-15 08:35:10
   LAST_STOP  2019-12-15 08:35:10
   NAME       alexa
   NOTIFYDEV  global,global:npmjs.*alexa-fhem.*
   NR         656
   NTFY_ORDER 50-alexa
   PARTIAL   
   PID        29795
   STARTS     6
   STATE      running /usr/local/bin/alexa-fhem
   TYPE       alexa
   active     0
   alexa-fhem version 0.5.31
   currentlogfile /opt/fhem/log/alexa-2019-12-15.log
   logfile    %L/alexa-%Y-%m-%d.log
   CoProcess:
     cmdFn      alexa_getCMD
     name       alexaFHEM
     state      running /usr/local/bin/alexa-fhem
   READINGS:
     2019-12-15 08:35:10   alexaFHEM       running /usr/local/bin/alexa-fhem
     2019-12-15 08:35:14   alexaFHEM.ProxyConnection running; SSH connected
     2019-11-09 20:12:00   alexaFHEM.bearerToken crypt:080608077515b580f0e70570801
     2019-11-09 20:12:00   alexaFHEM.skillRegKey crypt:76030870210575264e574025001757524480b0c0755060f74010108530f77575b50
   helper:
Attributes:
   DbLogExclude .*
   alexaFHEM-config ./alexa-fhem.cfg
   alexaFHEM-log %L/alexa-%Y-%m-%d.log
   alexaMapping #Characteristic=<name>=<value>,...


Bei meinen Temperatursensoren habe ich ein UserReading mit kommaseparierter Angabe:

Internals:
   CHANGED   
   DEF        14
   FUUID      5cc937b2-f33f-9484-ed1f-0dd4349056ce7e06
   IODev      JeeLink
   JeeLink_MSGCNT 42771
   JeeLink_RAWMSG OK 9 20 1 4 152 51
   JeeLink_TIME 2019-12-15 08:56:42
   LASTInputDev JeeLink
   LaCrosse_lastRcv 2019-12-15 08:56:42
   MSGCNT     42770
   NAME       LaCrosse_14
   NR         409
   STATE      T: 17.6 H: 51
   TYPE       LaCrosse
   addr       14
   battery_new 0
   corr1      0
   corr2      0
   previousH  51
   previousT  17.6
   sensorType 0=T(H)
   Helper:
     DBLOG:
       humidity:
         DbLog:
           TIME       1576396503.23695
           VALUE      51
       temperature:
         DbLog:
           TIME       1576396050.17732
           VALUE      17.7
   READINGS:
     2019-12-15 08:56:42   battery         ok
     2019-12-15 08:56:42   humidity        51
     2019-12-15 08:56:42   state           T: 17.6 H: 51
     2019-12-15 08:56:42   temperature     17.6
     2019-12-15 08:56:42   temperatureDE   17,6
Attributes:
   DbLogExclude state,battery
   DbLogInclude temperature,humidity
   IODev      JeeLink
   alexaName  Temperatur Wohnzimmer
   alias      LaCrosse #4
   batteryChange 02.10.2019
   event-min-interval temperature:600,humidity:600,battery:3600
   event-on-change-reading temperature:0.2,humidity:2,battery
   genericDeviceType HumiditySensor
   group      Temperatursensor
   homebridgeMapping clear CurrentTemperature=temperatureDE CurrentRelativeHumidity=humidity
   icon       temperature_humidity
   room       Wohnzimmer
   userReadings temperatureDE { my $temp = ReadingsVal("LaCrosse_14", "temperature", 0); $temp =~ s/\./,/g; return $temp; }


Beim Einlesen der Werte scheint auch alles okay (Auszug), die Ansage erfolgt nach "Alexa, wie ist die Temperatur im Wohnzimmer" dennoch als Datum:

*** FHEM: connected
...
[15.12.2019, 08:35:13] [FHEM] LaCrosse_14 is HumiditySensor
[15.12.2019, 08:35:13] [FHEM] LaCrosse_14 has
[15.12.2019, 08:35:13] [FHEM]   CurrentTemperature [temperatureDE]
[15.12.2019, 08:35:13] [FHEM]   CurrentRelativeHumidity [humidity]
  2019-12-15 08:35:13 caching: LaCrosse_14-temperatureDE: 17,7
  2019-12-15 08:35:13 caching: LaCrosse_14-humidity: 51
...
[15.12.2019, 08:35:14] sshautoconf: completed successfully


Habe ich was übersehen?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

TomLee

ZitatHabe ich was übersehen?


17,7

Gruß

Thomas

HansDampfHH

Wie meinen?
Ich habe ja extra für das ursprüngliche Reading temperature 17.7 das Reading temperatureDE 17,7 angelegt.
Aber bei beiden Varianten wird daraus "Es sind siebzehnter sieben Grad"
Es macht also aktuell keinen Unterschied. Oder habe ich Dich falsch verstanden?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

MadMax-FHEM

Ich hab ja (noch) keine Temp-etc-Sensoren integriert...
...vielleicht mach ich das dann mal...

Aber: kann der Fehler nicht auch bei Amazon liegen!?

Hast du auch Logausgaben (alexa-fhem) von der Anfrage selbst!?

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)

HansDampfHH

#4
Hallo Joachim, bei einem tail...


tail -f /opt/fhem/log/alexa-2019-12-15.log


bekomme ich keine Ausgabe nach einer Anfrage für die Temperatur.
Oder gibt es da noch andere Log-Files?

Ich sehe auch gerade beim Alexa-Device:
alexaFHEM.ProxyConnection stopped; Terminated with ssh: connect to host fhem-va.fhem.de port 58824: Network is unreachable , ssh will restart at 11:12:53

Keine Ahnung, ob das schon länger der Fall ist!?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

MadMax-FHEM

Evtl. liegt es daran was "rechts oben in Rot" steht... ;)

Allerdings wenn gar nichts zu alexa-fhem "durchdringt", würde Alexa ja auch nichts bzw. eher sowas wie: "bei der Abfrage ist ein Problem aufgetreten" antworten...

Ob es die richtige Logdatei ist, sollte am Alexa-Device zu sehen sein (meine ich, kann grad nicht nachsehen)...

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)

HansDampfHH

Jep, das ist die richtige Log-Datei.
Und ROT scheint nicht auffällig genug für mich zu sein  ;D

Ich warte das mal ab uns schau dann noch mal nach der Funktionsweise.
Eventuell klärt sich das ganze dann ja. Danke vorerst.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

#7
So, ProxyConnection wieder da. Ändert aber leider nichts.
Im alexa-log kann ich keinen Hinweis auf die Anfrage finden, und die Ausgabe findet weiterhin als Datum statt.

Habe auch wieder das hoemBridgeMapping auf die Punkt separierten Angaben geändert, 17.6
Leider nach wie vor keine Änderung.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

MadMax-FHEM

Hast du nach den Änderungen auch das Gerät in Alexa gelöscht und neu suchen lassen UND nat. auch alexa-fhem neu gestartet!?

Bzgl. Log (alexa-fhem): siehst du nichts im Sinne "ich kann nichts erkennen" ODER kommen keine Ausgaben bei einer Abfrage!?

Wenn ersteres: bitte trotzdem mal posten (sonst kann man nicht helfen)...
...wenn letzteres: wo nimmt Alexa dann die Antwort her, wenn sie ja offenbar dann nicht von alexa-fhem kommen kann... ;)

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)

TomLee

#9
Hab jetzt extra ein update von alexa-fhem (0.5.37) und 39_alexa.pm:0.206260/2019-11-30 gemacht.

Bei mir ist die Antwort wie immer und wie du es auch definiert hast jetzt (also mit Punkt)

Echo, wie ist die Temperatur von Wohnzimmer

ZitatDie Temperatur von Wohnzimmer ist 19 Komma 6 Grad.

Internals:
   ALARM      1
   ASYNC      0
   CHANGED   
   DEF        DS18B20 1A97DE060000
   ERRCOUNT   0
   FUUID      5c9ac8ec-f33f-78f5-59d6-7f16962baffa76af
   INTERVAL   300
   IODev      OWX
   NAME       OG_Innensensor_Wohnzimmer
   NOTIFYDEV  global
   NR         43
   NTFY_ORDER 50-OG_Innensensor_Wohnzimmer
   OW_FAMILY  28
   OW_ID      1A97DE060000
   PRESENT    1
   ROM_ID     28.1A97DE060000.A9
   STATE      20.9 °C
   TYPE       OWTHERM
   owg_temp   19.5625
   owg_th     75
   owg_tl     70
   READINGS:
     2019-12-15 14:07:49   corrected_temp  20.9 °C
     2019-12-15 14:07:49   state           T: 19.56 °C ↓
     2019-12-15 14:07:49   temperature     19.5625
     2019-12-15 14:07:49   temperaturegerundet 19.6
   tempf:
     factor     1
     offset     0
Attributes:
   IODev      OWX
   alexaName  wohnzimmertempsensor
   event-on-change-reading .*
   group      Vorderhaustemperaturen
   homebridgeMapping CurrentTemperature=temperaturegerundet
   model      DS18B20
   room       Ebus,OWX
   stateFormat corrected_temp
   tempHigh   75
   tempLow    70
   userReadings temperaturegerundet {sprintf('%.1f', ReadingsVal($name,"temperature",0))},corrected_temp {return sprintf("%.1f °C",ReadingsVal($name,"temperature","error") + 1.3)}

MadMax-FHEM

#10
Was mir noch auffällt/aufgefallen ist:

Zitat von: HansDampfHH
   genericDeviceType HumiditySensor

Im Wiki steht:

Zitat von: https://wiki.fhem.de/wiki/Homebridge_User_Configs
Erstellung eines HomebridgeMappings am Beispiel "Feuchtesensor"

Zum Einstieg etwas leicht nachvollziehbares.

Feuchtesensoren haben in der Regel ein "humidity" Reading, im Falle des Opus XT300 Bodenfeuchtesensors auch Temperatur und Batterie Level. Homekit unterstützt einen "HumiditySensor" Service. Dieser ist in homebridge-fhem nicht standardmäßig vorhanden (kann also nicht aus dem dropdown ausgewählt werden, sondern muss über das Befehlsfeld zugewiesen werden):

attr meinSensor genericDeviceType HumiditySensor

Im nächsten Schritt werden die Readings gemappt:

attr meinSensor homebridgeMapping clear CurrentRelativeHumidity=humidity StatusLowBattery=battery,values=ok:BATTERY_LEVEL_NORMAL;;/^.*/:BATTERY_LEVEL_LOW CurrentTemperature=temperature

clearlöscht default mappings - das wird in der Regel nicht notwendig sein, schadet aber nicht

CurrentRelativeHumidity ist die relevante Homekit Characteristic - wird mit dem entsprechenden Reading des Sensors gemappt.

StatusLowBattery erwartet entweder BATTERY_LEVEL_NORMAL oder _LOW. Mein Sensor liefert ok zurück, wenn alles gut ist, also wird "ok" auf _NORMAL gemappt, alles andere auf _LOW.

Der Opus XT300 Bodenfeuchtesensors liefert auch noch die Temperatur - der HumiditySensor Service sieht das eigentlich nicht vor, daher wird die Temperatur auch nicht in der Apple "Home" App angezeigt. Bei Eve wird die Temperatur hingegen berücksichtigt.

D.h. ein humiditySensor unterstützt bei homekit etc. KEINE Temperatur!
Wie das bei alexa-fhem ist weiß ich leider nicht...

Aber das ist generell wichtig bei genericDeviceType (und homebridgeMapping): WAS wird jeweils WO und WIE unterstützt!

D.h. nur weil es "auswählbar" ist, heißt es noch nicht, dass es unterstützt wird (mehrere "Dienste" teilen sich das [genericDeviceType/homebridgeMapping]) und nur weil man es setzt (manuell) ebenso wenig...

Evtl. mal entfernen ODER wie im Beispiel Luftfeuchte/Temperatur (Homematic) im Wiki probieren:

https://wiki.fhem.de/wiki/Homebridge_User_Configs#Homematic_Luftfeuchtigkeits-_und_Tmeperatursensoren

EDIT: und/oder hierauf antworten https://forum.fhem.de/index.php/topic,106345.msg1002082.html#msg1002082 ;)

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)

TomLee

Das mit dem humiditySensor hab ich ganz überlesen ::)

Also dann entweder thermometer oder gar kein genericDeviceType (wie in meinem Beispiel) vergeben, dann sollte es klappen.

Gruß

Thomas

Thyraz

#12
DeviceType ist bei mir auf TemperatureSensor um Humidity wird dann als zweiter Service bekannt gegeben. Das klappt:


clear
CurrentTemperature=temperature
HumiditySensor#CurrentRelativeHumidity=humidity


Edit: aber das habe ich für Siri drin. Temperatur geht bei Alexa damit aber auch bei mir. Kann Alexa denn Luftfeuchtigkeit?
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

MadMax-FHEM

#13
Zitat von: Thyraz am 15 Dezember 2019, 14:42:46
Edit: aber das habe ich für Siri drin. Temperatur geht bei Alexa damit aber auch bei mir. Kann Alexa denn Luftfeuchtigkeit?

Das meinte ich ja ;)

Ich bin mir nicht sicher (ändert sich ja [manchmal] schnell) aber stimmt, glaube auch wo gelesen zu haben dass "noch nicht"...
...was aber nicht heißt, dass nicht mittlerweile schon... ;)

Zumindest konnte ich hier auch nichts finden: https://developer.amazon.com/de-DE/docs/alexa/device-apis/alexa-brightnesscontroller.html
(alexa-brightnesscontroler nur als "Einstieg" in die Seite ;)  )

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)

HansDampfHH

@Joachim
Ja, ich starte immer das alexa Device neu nach einer Änderung, verwerfe das gerät und starte die "suche" erneut.

Im Log erscheint einfach keine Meldung wenn ich ein Kommando absetze.
Eine Antwort kommt aber natürlich, eben als Datum.

Weiterhin habe ich auch mal die Attribute für das genericDeviceType (ich dachte das muss gesetzt sein) entfernt.
Entsprechend wieder Alexa neu gestartet, Geräte gelöscht und neu gesucht...keine Veränderung.

Auch das definieren als TemperatureSensor und/oder thermostat bringt leider keine Änderung.
Immer wieder eine Datumsangabe.

@TomLee
Habe jetzt noch mal ein "update 39_alexa.pm" gemacht und alexa-fhem auf 0.5.37 angehoben.
Nix neues. Was mich wundert warum ich keine Einträge im Logfile habe.
Sollte da nicht nach jedem Kommando was auftauchen?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink