Ich habe jetzt doch eine Lösung gefunden.
Es können in den IO-Aktionen zum Versenden von Temperatur und oder Luftfeuchtigkeit auch noch die Parameter ${info}, ${status} und ${config} angegeben werden. Da kann ich in meinem Programm dann die für mich wichtigen Werte herauslesen und nach FHEM senden.
Hier das Listing meines Dummy-Device in FHEM:
Code
Internals:
CFGFN ./FHEM/fhem-11-shelly.cfg
FUUID 63b530ae-f33f-ef68-dd25-4ea845a6fba70a43
NAME Shelly_HT_Esszimmer
NR 3368
STATE 20.2 °C, Luftfeuchtigkeit 43.5<br><br>Durchschnittswerte Salon und Esszimmer <br>20.55 °C, Luftfeuchtigkeit 45.2
TYPE dummy
eventCount 2818
OLDREADINGS:
READINGS:
2023-01-16 16:27:54 battery ok
2023-01-16 16:34:54 d_humidity 45.25
2023-01-16 16:34:54 d_temperature 20.55
2023-01-16 16:31:23 firmware_aktuell 0.12.0-gafc2404
2023-01-16 16:30:23 firmware_aktuell_date_time 06.12.2022 14.25.34
2023-01-16 16:34:23 humidity 43.500000
2023-01-16 16:33:23 last_caller_ip 192.168.1.131
2023-01-16 16:34:54 salon_humidity 47
2023-01-16 16:34:54 salon_temperature 20.9
2023-01-16 16:34:54 sys_config_fw_id 20221206-142534/0.12.0-gafc2404
2023-01-16 16:34:53 sys_config_mac 08:B6:1F:CE:90:E0
2023-01-16 16:32:54 sys_info_model SNSN-0013A
2023-01-16 16:33:54 sys_info_name H&T Esszimmer
2023-01-16 16:26:54 sys_status_battery "percent":100,"V":6.200000
2023-01-16 16:31:54 sys_status_battery_min_percent 30
2023-01-16 16:30:54 sys_status_battery_min_volt 4
2023-01-16 16:28:54 sys_status_battery_percent 100
2023-01-16 16:29:54 sys_status_battery_volt 6.20000
2023-01-16 16:32:23 temperature 20.200000
2023-01-16 16:21:21 wifi_sta_ip 192.168.1.131
Attributes:
alexaName Esszimmer
alias H&T Esszimmer
genericDeviceType thermometer
group Innentemperaturen
icon temp_temperature
readingList temperature, humidity
room 9e Shelly
sortby 951
stateFormat {
sprintf('%.1f',ReadingsVal('Shelly_HT_Esszimmer','temperature', 0)) .
' °C, Luftfeuchtigkeit ' .
sprintf('%.1f',ReadingsVal('Shelly_HT_Esszimmer','humidity', 0)) .
'<br><br>Durchschnittswerte Salon und Esszimmer <br>' .
sprintf('%.2f',ReadingsVal('Shelly_HT_Esszimmer','d_temperature', 0)) .
' °C, Luftfeuchtigkeit ' .
sprintf('%.1f',ReadingsVal('Shelly_HT_Esszimmer','d_humidity', 0))
}
userReadings salon_temperature { ReadingsVal('Thermometer_2','temperature', 0) } ,
salon_humidity { ReadingsVal('Thermometer_2','humidity', 0) },
d_temperature { (ReadingsVal('Shelly_HT_Esszimmer','salon_temperature', 0 ) + ReadingsVal('Shelly_HT_Esszimmer','temperature', 0 )) / 2 },
d_humidity { (ReadingsVal('Shelly_HT_Esszimmer','salon_humidity', 0 ) + ReadingsVal('Shelly_HT_Esszimmer','humidity', 0 )) / 2 }
Alles anzeigen