Dual-Thermometer - wie temperature2 für Alexa aufbereiten

Begonnen von oldman, 27 Januar 2022, 19:17:42

Vorheriges Thema - Nächstes Thema

oldman

Ich verwende ein Dual-Thermometer an/in der Sauna. Das Thermometer hängt draußen, weil es  nur bis 60° arbeitet , der Sensor für temperature2 ist in 60cm Höhe durch die Wand geführt. Wenn die Sauna 90° hat, dann sind an der Stelle 60°, bis dahin arbeitet das Thermometer, darüber kommt eine Fehlermeldung. Soweit passt alles, muss halt 30 Grad zuaddieren und kann mich bei temperature2 = 50° auf den Weg machen. Muss dazu aber FHEM-WEB benutzen, das ist umständlich. Alexa sagt mir nur die Kellertemperatur (temperature1).
Das Thema hatte ich schon mal gelöst, wenn ich mich recht erinnere mit homebridge mapping, vergessen - Alzheimer.
Die temperatur2 einem Dummy zuzuweisen ist simpel, hilft aber nicht weil der Alexa-Connector bei Dummy nur setlist on off erlaubt.

Die zweite Frage wäre wie ich die 30°-Korrektur in fhem erledigen könnte.

Was muss ich tun?

Otto123

#1
Kein extra Dummy: Als Userreadings in deinem Temperaturmesser Device
userReadings temperatureInnen:temperature2:*{ReadingsNum($name,'temperature2',0) + 30}
Wie Du es Alexa sagst weiß ich nicht.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

#2
Wo hast du her, dass alexa-fhem/Alexa nur on off zulässt?
Das stimmt nicht.

EDIT: ich habe beispielsweise einen Media-dummy mit setList on off mute volume channel

Wenn das Reading gleich temperature oder measured-temp heißt, dann erkennt das alexa-fhem gleich automatisch :)

Dann noch genericDeviceType thermometer und gut...

EDIT: dualthermometer? Welcher Typ? Sind es zwei devices? Weil mit nur einem Device wird dir Alexa nur eine Temperatur ansagen (können). Nämlich entweder die autom. erkannte (siehe Readingsnamen) oder eben die per homebridgeMapping angegebene (Beispiele gibt es in div. Wiki)... Wenn du beide Temperaturen angesagt haben willst aber beide Temperaturen in einem Device sind, dann wäre evtl. readingsProxy eine Möglichkeit eine der Temperaturen als "temperature" oder "measured-temp" im readingsProxy "darzustellen" und dort dann eben alexaName und genericDeviceType setzen... So wie im eigentlichen Device dann für die andere Temperatur...

EDIT: setList ist nur interessant, wenn das Device keine setter hat (dummy) und man per alexa-fhem auch was steuern will. Beim nur Temperatur-Abfragen ist setList egal...

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)

oldman

Danke für die Antworten.
Es handelt sich um ein Gerät (NAME Sauna), ähnlich wie die TX29DT-IT, temperature ist die Temperatur am Gerät (Dummy Saunakeller) und temperature2 die Temperatur an der Sonde.
Problem 1 habe ich mit

set Sauna attr homebridgeMapping CurrentTemperature = temperature2

und +*00:15 set Saunakeller {(ReadingsVal('Sauna','temperature',''))}.

Das funktioniert, damit sagt mir Alexa die Saunatemperatur (-30° :-[), die Temperatur im Keller ist nicht so wichtig, da reicht die Info über die Web-Oberfläche.
Die Antwort von Otto könnte mein Problem mit dem Temperaturoffset lösen, wenn ich wüsste wie es geht.
Ich habe für Sauna das UserReadings kreiert (mit $name = Sauna) und bei HomebridgeMapping CurrentTemperature = temperatureInnen eingetragen. Das klappt nicht.
Bei den Readings taucht temperatureInnen auch nicht auf. Was mache ich falsch?

MadMax-FHEM

#4
set Sauna attr...

Ist doch "Quatsch"...
Du brauchst doch nur beim Device das Attribut entsprechend setzen.

Das was du mit at zyklisch machst: wäre verm. auch mit readingsProxy und damit mit nur einem Device möglich.
Aber wenn es tut...

$name kannst du lassen, das wird dann durch den Namen vom Device ersetzt.

Poste doch ein list vom Device.

Und noch mal: wenn du das userReadings gleich temperature nennst (wie beim dummy), dann geht das mit alexa-fhem auch ohne homebridgeMapping, wenn genericDeviceType auf thermometer gesetzt ist...

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)

Otto123

Zitat von: oldman am 29 Januar 2022, 19:15:22
Die Antwort von Otto könnte mein Problem mit dem Temperaturoffset lösen, wenn ich wüsste wie es geht.
Ich habe für Sauna das UserReadings kreiert (mit $name = Sauna) und bei HomebridgeMapping CurrentTemperature = temperatureInnen eingetragen. Das klappt nicht.
attr Sauna userReadings temperature:temperature2:*{ReadingsNum($name,'temperature2',0) + 30}
entsprechend Joachims Vorschlag
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

oldman

Ich setze doch das Attribut beim Device Sauna (Dualthermometer):
Internals:
   DEF        07
   FUUID      5fabd8c0-f33f-c71a-f755-de3637a54215d8c2
   IODev      JeeLinkTemp
   JeeLinkTemp_MSGCNT 241215
   JeeLinkTemp_RAWMSG OK 9 7 130 4 120 125
   JeeLinkTemp_TIME 2022-01-30 14:20:37
   LASTInputDev JeeLinkTemp
   LaCrosse_lastRcv 2022-01-30 14:20:37
   MSGCNT     241207
   NAME       Sauna
   NR         713
   STATE      15.5
   TYPE       LaCrosse
   addr       07
   battery_new 1
   bufferedH 
   bufferedT 
   corr1      0
   corr2      0
   previousH  106
   previousH2 125
   previousT  15.5
   previousT2 14.4
   sensorType 0=T(H)
   READINGS:
     2022-01-30 14:20:37   battery         ok
     2022-01-30 14:20:15   state           T: 15.5
     2022-01-30 14:20:15   temperature     15.5
     2022-01-30 14:20:37   temperature2    14.5
Attributes:
   IODev      JeeLinkTemp
   alexaName  Sauna
   doAverage  1
   event-min-interval 600
   event-on-change-reading temperature
   event-on-update-reading state
   filterThreshold 10
   genericDeviceType thermometer
   group      Temperatur
   homebridgeMapping CurrentTemperature=temperatureInnen
   icon       scene_sauna@orange
   resolution 5
   room       Keller
   stateFormat temperature
   userReadings temperatureInnen:temperature2:*{ReadingsNum($name,'temperature2',0) + 30}

Wie gesagt, mit  homebridgeMapping CurrentTemperature=temperature2 kappt alles tadellos, nur 30° zu kalt, mit
homebridgeMapping CurrentTemperature=temperatureInnen
sehe ich im AlexaLog zwar die Zuordnung, aber keinen Wert weil vermutlich das userReadings falsch definiert ist
oder noch irgendein anderer Fehler drin steckt. Ich habe zu userReadings keine weiterführenden Infos gefunden
und habe Verständnisprobleme (74 und kein bisschen Weise)

Otto123

weil mein Beispiel einen Trigger verwendet, Du diesen aber quasi ausgeschaltet hast (event-on...)
Insofern ändere das userReadings:
temperatureInnen {ReadingsNum($name,'temperature2',0) + 30}
Lass damit quasi den trigger weg. Du hast eh nur Events für temperature :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

oldman


locodriver

Ich hänge mich hier mal dran...

Ich habe einen T/H-Sensor, welcher nativ die Ansage der Temperatur unterstützt.
Wie "bringe" ich Alexa dazu, auch die Feuchtigkeit anzusagen? Ich habe irgendwo gelesen, dass der Alexa Typ "Thermometer" das auch unterstützt. Allerdings komme ich nicht zum Erfolg.

Hier die Rohdef.:

Internals:
   CFGFN      ./FHEM/061_WZ.cfg
   DEF        02
   FUUID      5c443da7-f33f-b425-8160-4cde11a33270022a
   IODev      jeelinkcross
   LASTInputDev jeelinkcross
   LaCrosse_lastRcv 2022-02-02 10:49:52
   MSGCNT     11190
   NAME       WZ_Sensor
   NR         81
   STATE      T: 18.4 H: 60 D: 10.5
   TYPE       LaCrosse
   addr       02
   battery_new 0
   corr1      0
   corr2      0
   jeelinkcross_MSGCNT 11192
   jeelinkcross_RAWMSG OK 9 2 1 4 160 60
   jeelinkcross_TIME 2022-02-02 10:49:52
   previousH  60
   previousT  18.4
   sensorType 0=T(H)
   READINGS:
     2021-03-10 10:01:48   Activity        alive
     2021-11-30 17:35:25   Batteriedauer_alt 0
     2022-02-02 08:05:00   Batteriewechsel 2428
     2022-02-01 12:10:19   IODev           jeelinkcross
     2022-02-02 10:49:52   battery         ok
     2022-02-02 10:49:52   dewpoint        10.5
     2022-02-02 10:49:52   humidity        60
     2022-02-02 10:35:49   state           T: 18.4 H: 60 D: 10.5
     2022-02-02 10:49:52   temperature     18.4
     2019-06-11 13:12:59   temperature2    37.3
Attributes:
   IODev      jeelinkcross
   alexaName  Thermometer Wohnzimmer
   alexaRoom  Wohnzimmer
   alias      Thermometer WZ
   appOptions {"template":"thermometer"}
   doAverage  1
   doDewpoint 1
   event-min-interval state:300
   event-on-change-reading state,battery
   event-on-update-reading 1
   genericDeviceType thermometer
   room       001Wohnzimmer


Dankeschön.
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

MadMax-FHEM

Bist du bzgl. event-on-change/update-reading sicher?

So kommen doch keine Events bzgl. temperature/humidity!?

Wie soll alexa-fhem das mitkriegen? ;-)

Ansonsten muss ich mal schauen...
Aber gibt es in den Wikis zu alexa-fhem bzw. Mapping keine Beispiele?

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)

locodriver

Ich habe mal eocr gelöscht (das log wird nat. geflutet...). Dann wird auch "humidity" einzeln geloggt.
Nach Alexa reload und Entfernen des Gerätes in Alexa und Neusuchen und Zuordnung zu Wohnzimmer klappt es trotzdem nicht.
Die Frage: "Alexa, wie ist die Feuchtigkeit im Wohnzimmer" kommt unverändert die Antwort "Das wird noch nicht unterstützt."
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Otto123

#12
keiner hat gesagt Du sollst dein Log fluten, aber der hier: - event-on-update-reading 1 - ist Schwachsinn.
Also bei eocr die Readings eintragen die Du brauchst  ::)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

MadMax-FHEM

#13
E war ja nicht als "Lösung" für die Ansage gedacht, sondern ist "nachgelagert".
Weil alexa-fhem den aktuellen Stand ja nur kennt/mitbekommt, wenn auch Events kommen...

Du hättest auch einfach temperature und humidity zu event-on-update-reading hinzufügen können ;)
EDIT: äh, ja. Evtl. auch eocr auf .* und bei eour dann die "gewünschten" oder wie Otto schreibt... Bzw. halt lesen und dann wie benötigt setzen...

Bzgl. humidity wird halt das homebridgeMapping mit der zugehörigen Charakteristik fehlen...

Daher ja der "Verweis" auf die diversen Wiki, wo bestimmt ein Beispiel zu finden sein dürfte...

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

ZitatBzgl. humidity wird halt das homebridgeMapping mit der zugehörigen Charakteristik fehlen...

Man kriegt das doch nicht mit homebridgeMapping hin das Alexa korrekt die Luftfeuchtigkeit ansagt, oder doch ?
Hab ich Zweifel.

Hab mir vor ein/zwei Wochen das hier angeschaut:

https://developer.amazon.com/es-ES/docs/alexa/device-apis/smart-home-general-apis.html

und verstehe es eigentlich so das Luftfeuchtigkeit immer noch nicht unterstützt wird.