Alexa Thermometer interpretiert keine Minus Temperaturen mehr

Begonnen von superverbleit, 18 November 2025, 11:00:36

Vorheriges Thema - Nächstes Thema

superverbleit

Hallo Leute,

ich habe mal eine Frage. Und zwar kann meine Alexa keine Minus Temperaturen mehr.
Sprich, es hat -5,9° Celcius, meldet meine Alexa 5,9°.
Das Gerät ist einfach ein KNX Device (Wetterstaion).

Hintergrund, ich habe mein System upgedatet (FHEM selber + FHEM Connector (Alexa)).
Vor dem Update ging das noch. Beim Vorlesen stoppt die Alexa auch kurz (evtl. die Minusinterpretation???).
Oder passt mein Homebridgemapping jetzt nicht mehr?

Hier mein Listening
Internals:
   DEF        4/0/1:dpt9.001:Ist-Temp
   FUUID      5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389
   IODev      KNX
   KNX_MSGCNT 290
   KNX_RAWMSG C0111bw040018742
   KNX_TIME   2025-11-18 07:08:51
   LASTInputDev KNX
   MSGCNT     290
   NAME       Aussenbereich.Temp.Wetterstation
   NR         50
   STATE      -1.9 °C
   TYPE       KNX
   eventCount 290
   model      dpt9
   GADDETAILS:
     Ist-Temp:
       CODE       04001
       MODEL      dpt9.001
       NO         1
       OPTION     
       RDNAMEGET  Ist-Temp-get
       RDNAMESET  Ist-Temp-set
       SETLIST   
   GADTABLE:
     04001      Ist-Temp
   Helper:
   READINGS:
     2025-11-16 07:10:27   IODev           KNX
     2025-11-18 07:08:51   Ist-Temp-get    -1.9 °C
     2025-11-18 07:08:51   last-sender     1.1.27
     2025-11-18 07:08:51   state           -1.9 °C
Attributes:
   IODev      KNX
   alexaName  Temperatur Draußen
   genericDeviceType thermometer
   group      Aussentemperatur
   homebridgeMapping CurrentTemperature:reading=state
   icon       icoTemp.png
   room       Aussenbereich
   webCmd     :

Vielleicht hat von euch jemand eine Idee?
Danke für euren Support.

passibe

Was genau hast du denn geupdatet? Eigentlich gab es bei alexa-fhem seit August 2024 kein Update mehr: https://github.com/justme-1968/alexa-fhem/releases
Ich denke also eher, dass das evtl. was mit Amazon zu tun hat?

Jedenfalls:
Das Problem mit Minuszahlen usw. ist bei echodevice bekannt, siehe hier und auch hier. Der Workaround ist da, die Sachen in Anführungszeichen zu setzen ... aber das hier betrifft ja eigentlich was anderes, nämlich, dass FHEM Daten an Alexa sendet und Alexa dann entscheidet, wie die abgerufen/ausgegeben werden.

Deshalb folgende Frage/Bitten:
  • Wird der Wert auch in der Alexa-App visuell falsch angezeigt? Also positiv? Oder kommt der positive Wert nur, wenn du alexa fragst "Was ist die Temperatur von Wetterstation?"?
  • Was genau steht im log von alexa-fhem? Also welcher Wert wird da weitergemeldet bzw. bei caching gespeichert? Vielleicht kannst du einfach mal den Logauszug, wenn das Reading aktualisiert wird, posten.
  • Vielleicht kannst du auch mal das Log beim Start von alexa-fhem posten und zwar die Teile zu Aussenbereich.Temp.Wetterstation, dann dürfte man nämlich sehen, wie genau sich das Gerät bei Amazon anmeldet.

TomLee

Beim alexa-Modul scheint es wieder ein anderes Problem zu sein. Bei mir wird da auch das Minus geschluckt, obwohl es im Log steht.

defmod du_temp_rls dummy
attr du_temp_rls alexaName andenbeere
attr du_temp_rls room Test

setstate du_temp_rls 2025-11-18 11:46:07 temperature -5.9

[18.11.2025, 11:54:52] [FHEM]     caching: CurrentTemperature: -5.9 (as number; from '-5.9')
[18.11.2025, 11:54:52] <<<< [srv] {"context":{"properties":[{"namespace":"Alexa.TemperatureSensor","name":"temperature","value":{"value":-5.9,"scale":"CELSIUS"},"timeOfSample":"2025-11-18T10:54:52.290Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"6376328c-20c4-443a-bd32-82cf960a1d05","correlationToken":"AAAAAAAAAQBJ2ydQmho8Kcn9F5rWWEf+AAIAAAAAAAD3VUAsMFYcmIkPq5XFsKIWCdvx7vQX1nkNNBgHZvt+NWX7Zv/nOZUzrEHx2ooOFIOsemx38YlB7FbJKzTrW2v7SLe8rMOYXjd6XyxtcHnoRYX5bfetv547ZJuYQHHpJm49BJAAmoJ6lfwTBmrCUgYVTsHsHou+QTHmxqjIvHl2jIq1NOnJfbUJ9MLkUue5YiT7Ea6+rLg3ettJxUPjLdm+eoBXa18I9hZpQ5S3hwVvVbhv+sdWZoiZ6Hy+2JTahSC9Wyd/7pSmYtYx7atcpeDSmyBh8BY/xIuRJy44isALf/cX7JaioCFTOfl5O1ghv53kPhKb4PEKnWATjugSSqXXk+nF4NknT/TA0d9lWtYqbQcVviS21qCHTWAe/YP5w1ete25buLgcN8VPAq6ZA8uwdUuoCmSeREFOp0+a4kP+zT8BT9NtCpKakqWUR/TorUJBIIbL7xhHV5LJj/HYKnyOc47woqz+rEhWM5V26RHcFgbhpd+ceHz7WXFU4T2YaFurKG6YVcq07xLz+YclA2gsz09ptpOPZtPyw0ee5Hkjfr1x0eQEuD9IR9glfcvFTapQB0YE4ZMYWW/JaPulCCFrWHEUnnFi41yCz0Jd+iATf2ILrdqRfJ4ufIstE7CHNgr15ZFSSt9U/GoqQjtnt5bGba8FRrby8ZHgRCro2dakqg=="},"endpoint":{"scope":{"type":"BearerToken","token":"Atza|gQCAa9oAAwEBAHDIZPaO-DXd08N6Gh_YLhPAn5vTLcQwudmyyWUHI8Htwkld-_Y7DQuDiCbvgWnoNeoVdoqK8AHCS-CAiCzhm6a-HnocjnZnNksanjvEF7KB-RTwJ7fsy9joV6GHVusfzg6nCGcFHv6KTzIVgPbQA3dITOYuT7S7QQp3Lly5Q4yuilLsoXGMIgvPHfI_7D1xt1qVIJcXu8wFoM_7_b0gwNy30zEU936-04DdtkrPPQR_3TGaCss3KblWVHeb8IfkKNh6myK1jyVZrt0Ls47bP5Ym6gwArRTpKg-jWHCJuGYePqSH6uPVM0g0DdPAlkxOnhcMGXKDPtUy4L4tLAKNYfjzVzV8LGv8pS7J9RA4VJVSLIG-O6DXr0AMaQvJN_gmfU62HDchCKWojrP4duaNgrk0l5ugGnjlFRaCEty6TGq_qkVv2Cz-16qZ4nzjsuOSF7x_tNnezgJd"},"endpointId":"61841454-f33f-78f5-1404-874e4acd54980f8b"},"payload":{}}}

superverbleit

Hallo,

ich habe meine Uralt-Version, vermutlich von 2019 rum upgedatet.

Visuell kommt auf der Alexa leider aktuell nichts mehr, egal ob plus oder minus.
Wenn ich frage, wie ist die Temperatur draussen (Temp von Wetterstation, AlexaName, siehe list), liest sie halt den positiven Wert vor (auch bei Minus, hier stockt sie allerdings kurz).

Hier das Log, beim Alexa starten:
[18/11/2025, 21:06:08] [FHEM] Aussenbereich.Temp.Wetterstation is thermometer
[18/11/2025, 21:06:08] [FHEM] Aussenbereich.Temp.Wetterstation has
[18/11/2025, 21:06:08] [FHEM]   CurrentTemperature [state]
[18/11/2025, 21:06:08] [FHEM] Aussenbereich.Temp.Wetterstation will not send proactive events
[18/11/2025, 21:06:08] [FHEM] Aussenbereich.Temp.Wetterstation uses ID: 5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389
  2025-11-18 21:06:08 caching: Aussenbereich.Temp.Wetterstation-state: -2.1 °C

Hier das Caching:
2025-11-18 21:04:12 caching: Aussenbereich.Temp.Wetterstation-state: -2.1 °C
[18/11/2025, 21:04:12] [FHEM]     caching: CurrentTemperature: -2.1 °C (as string; from '-2.1 °C')

Hier das Log zu, wie ist die Temperatur:
[18/11/2025, 21:11:57] >>>> [ssh] {"directive":{"header":{"namespace":"Alexa","name":"ReportState","payloadVersion":"3","messageId":"625366fc-f72e-4270-8258-8496d5e0ceda","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F0C6AAB8-0C0BCA41083B64DB"},"endpointId":"5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389","cookie":{"fuuid":"5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389","device":"Aussenbereich.Temp.Wetterstation"}},"payload":{}}}
[18/11/2025, 21:11:57] [FHEM]     caching: CurrentTemperature: -2.1 °C (as string; from '-2.1 °C')
[18/11/2025, 21:11:57] <<<< [ssh] {"context":{"properties":[{"namespace":"Alexa.TemperatureSensor","name":"temperature","value":{"value":-2.1,"scale":"CELSIUS"},"timeOfSample":"2025-11-18T20:11:57.886Z","uncertaintyInMilliseconds":500}]},"event":{"header":{"namespace":"Alexa","name":"StateReport","payloadVersion":"3","messageId":"8b027251-361f-4f40-8f01-ddd2f8a91de5","correlationToken":"-"},"endpoint":{"scope":{"type":"BearerToken","token":"F0C6AAB8-0C0BCA41083B64DB"},"endpointId":"5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389"},"payload":{}}}

Hier nochmals das aktuelle list:
Internals:
   DEF        4/0/1:dpt9.001:Ist-Temp
   FUUID      5dfcf3ad-f33f-5687-d4b4-f78d8eb53fce6389
   IODev      KNX
   KNX_MSGCNT 406
   KNX_RAWMSG C0111bw04001872e
   KNX_TIME   2025-11-18 21:04:12
   LASTInputDev KNX
   MSGCNT     406
   NAME       Aussenbereich.Temp.Wetterstation
   NR         50
   STATE      -2.1 °C
   TYPE       KNX
   eventCount 406
   model      dpt9
   GADDETAILS:
     Ist-Temp:
       CODE       04001
       MODEL      dpt9.001
       NO         1
       OPTION     
       RDNAMEGET  Ist-Temp-get
       RDNAMESET  Ist-Temp-set
       SETLIST   
   GADTABLE:
     04001      Ist-Temp
   Helper:
   READINGS:
     2025-11-16 07:10:27   IODev           KNX
     2025-11-18 21:04:12   Ist-Temp-get    -2.1 °C
     2025-11-18 21:04:12   last-sender     1.1.27
     2025-11-18 21:04:12   state           -2.1 °C
Attributes:
   IODev      KNX
   alexaName  Temperatur Draußen
   genericDeviceType thermometer
   group      Aussentemperatur
   homebridgeMapping CurrentTemperature:reading=state
   icon       icoTemp.png
   room       Aussenbereich
   webCmd     :

passibe

Bei dir sieht alles gut aus.
Weil TomLee das Problem ebenfalls hat, würde ich mal davon ausgehen, dass da bei Amazon irgendetwas falsch ist.

Eventuell kannst du mal Googeln, ob noch andere Leute (z.B. bei Home Assistant) das Problem haben und ob die einen Fix gefunden haben. Im Zweifel kannst du auch mal ein Issue auf GitHub auf machen, aber ich bezweifle, dass sich da was tun lässt ...

superverbleit

Ok. Danke.
Ich habe jetzt nochmals ein wenig recherchiert.
Und da habe ich gelesen, das Alexa einen numerischen Wert erwartet. Und keinen String wie bei uns.
Das es überhaupt geht, liegt evtl. daran, das der FHEM Connector aus "2.1 °C" eine numerische Zahl umwandelt (Float). also 2.1 .
Steht jedoch ein - am Anfang des Strings, also z.B. "-2.1 °C" wandelt der Connector dies ebenfalls in eine 2.1 Zahl um.

Die Empfehlung der KI (wobei ich da immer vorsichtig bin), ist eine numerisches Reading and das homebridgemapping zu übergeben.

Hat da von euch jemand eine Ahnung, ob das mit der numerischen Übergabe stimmt? Oder ob der String richtig ist?

erwin

Hi!
Und da habe ich gelesen, das Alexa einen numerischen Wert erwartet. Und keinen String wie bei uns.... um das auf die schnelle zu testen, könntest du die definition ändern auf:
DEF        4/0/1:dpt9:Ist-Temp...damit ist das reading/state ein numerischer Wert ohne °C...
l.g.erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

TomLee

Weil ich gerade am schreiben war, oder so:

attr Aussenbereich.Temp.Wetterstation userReadings temperature:.* {ReadingsNum($name,'state',-99)}
und du hast ein temperature-Reading mit einem numerischen Wert + das homebridgeMapping kannst dir sparen.

Ändert aber nix das Amazon das Minus schluckt.


TomLee

@Erwin

Muss der Wert in state landen oder kann es nicht gleich ein temperature-Reading sein?

erwin

Der Wert landet sowohl im reading temperature-get UND im reading state
Aus welchem reading du ihn für Alexa verwendest ist vom mapping abhänging...
Falls deine Frage aber wegen der Einheit im GUI war, kannst du mittels Attr. stateFomat wieder °C hinzufügen.

Mir gings nur um die Frage, ob das bez. Alexa negative werte was ändert.
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

TomLee

Mir ging es darum, dass das Device auch ohne homebridgeMapping als Temperatursensor erkannt wird – das Modul nutze ich nicht.

Ein temperature-Reading reicht dafür vollkommen aus, dann braucht man auch kein zusätzliches Mapping.

Mit einem Ist-Temp-get-Reading oder einem Wert in state kann Alexa hingegen nichts anfangen ohne Hilfe, deswegen ist in solchen Fällen ein Mapping notwendig.

Dass es keine Änderung bringt, die Einheit aus dem Reading zu entfernen, habe ich oben bereits gezeigt.
Grundsätzlich haben meiner Meinung nach Einheiten im Reading-Wert nichts zu suchen.

erwin

Sorry TomLee,
unsere posts waren fast gleichzeitig, das hab ich nicht mitbekommen...
Mit einem Ist-Temp-get-Reading oder einem Wert in state kann Alexa hingegen nichts anfangen ...Die reading-Namen sind im KNX-modul frei wählbar, up to the user, und ja, eine Ist-Temperatur würde ich temperature nennen.
l.g.erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

superverbleit

Hallo Leute,

leider hat es mir gestern nicht mehr gereicht, euch zu antworten.
Ich würde mich heute abend nochmals dem Thema widmen.

Dazu bräuchte ich jetzt allerdings nochmals kurz eure Hilfe, was ich jetzt machen soll.

Numerisches Reading via
attr Aussenbereich.Temp.Wetterstation userReadings temperature:.* {ReadingsNum($name,'state',-99)}
Wie ist das zu verstehen, ich brauche kein homebridgemapping mehr?
Könnt ihr mir kurz nochmals erläutern, was und wie ich es tesetn soll.

Danke.


TomLee

Ich würds mit den Mitteln versuchen, die das Modul bereitstellt.
Umbenennen kann man das Reading mit dem Attribut readingNmap
https://fhem.de/commandref_modular.html#KNX
attr Aussenbereich.Temp.Wetterstation readingNmap Ist-Temp-get:temperature
Das Attribut homebridgeMapping und im Prinzip das Attribut genericDeviceType kannst dir dann sparen.

erwin

userReading, readingsNmap: alles nicht nötig, in diesem Fall!
DEF        4/0/1:dpt9.001:temperature:nosuffix...und schon gibts ein reading temperature...
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...