alexa-fhem mehrere Werte eines Devices übergeben/abfragen

Begonnen von rallye, 12 April 2022, 10:25:56

Vorheriges Thema - Nächstes Thema

rallye

Ich habe erfolgreich Alexa in mein FHEM integriert. Blitzeinfach und toll gemacht. Danke an die Entwickler!!!
Ich stehe nun vor dem Problem, dass ich mehrere Werte eines Devices abfragen möchte. Im Speziellen:
Ich habe einen Shelly1PM mit einem externen Temperatursensor. Der Shelly schaltet die Heizpumpe des Swimmingpools ein und aus, der externe Temperatursensor liefert mir die Wassertemperatur. Das Ein- und Ausschalten funktioniert wie bei den anderen Shelly1 einwandfrei. Die Frage die sich für mich stellt ist: wie bekomme ich das Reading "ext_temperature_0", welches die Wassertemperatur beinhaltet in Alexa, sodass ich fragen kann: "Alexa, wie ist die Wassertemperatur?"
defmod SW.Poolheizung MQTT2_DEVICE shelly1pm_8CAAB55FD1E4
attr SW.Poolheizung alexaName Poolheizung
attr SW.Poolheizung alias Poolheizung
attr SW.Poolheizung comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
attr SW.Poolheizung devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
attr SW.Poolheizung genericDeviceType switch
attr SW.Poolheizung group Schwimmbad
attr SW.Poolheizung icon sani_pump@1F85DE
attr SW.Poolheizung model shelly1_w_energy_measuring
attr SW.Poolheizung readingList shellies/SH-Poolheizung/relay/0:.* state\
  shellies/SH-Poolheizung/relay/0:.* relay0\
  shellies/SH-Poolheizung/input/0:.* input0\
  shellies/SH-Poolheizung/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power\
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on";; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }\
  shellies/SH-Poolheizung/temperature:.* temperature\
  shellies/SH-Poolheizung/temperature_f:.* temperature_f\
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/overtemperature:.* overtemperature\
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy\
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/SH-Poolheizung/longpush/0:.* longpush_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }
attr SW.Poolheizung room HomeBridge
attr SW.Poolheizung setList relay0:on,off,toggle shellies/SH-Poolheizung/relay/0/command $EVTPART1\
  toggle:noArg shellies/SH-Poolheizung/relay/0/command toggle\
  off:noArg shellies/SH-Poolheizung/relay/0/command off\
  on:noArg shellies/SH-Poolheizung/relay/0/command on\
  x_update:noArg shellies/SH-Poolheizung/command update_fw\
  x_mqttcom shellies/SH-Poolheizung/command $EVTPART1
attr SW.Poolheizung setStateList on off toggle
attr SW.Poolheizung userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
attr SW.Poolheizung webCmd on:off

bzw:
Internals:
   CID        shelly1pm_8CAAB55FD1E4
   DEF        shelly1pm_8CAAB55FD1E4
   DEVICETOPIC SW.Poolheizung
   FUUID      62499826-f33f-55a1-2df9-eb6b5e399021d2ed
   IODev      MQTT_Shellies
   LASTInputDev MQTT_Shellies
   MQTT_Shellies_CONN MQTT_Shellies_192.168.57.217_31217
   MQTT_Shellies_MSGCNT 71562
   MQTT_Shellies_TIME 2022-04-12 10:24:44
   MSGCNT     71562
   NAME       SW.Poolheizung
   NR         470
   STATE      off
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2022-04-12 10:24:44   0_hwID          28970c96f0013cb7
     2022-04-12 10:24:44   0_tC            10.8
     2022-04-12 10:24:44   0_tF            51.5
     2022-04-10 10:43:07   IODev           MQTT_Shellies
     2022-04-11 18:25:51   actions_stats_skipped 0
     2022-04-11 18:25:50   attrTemplateVersion 20200831
     2022-04-11 18:25:51   cfg_changed_cnt 0
     2022-04-11 18:25:51   cloud_connected false
     2022-04-11 18:25:51   cloud_enabled   false
     2022-04-11 18:25:51   ext_sensors_temperature_unit C
     2022-04-12 10:24:44   ext_temperature_0 10.8
     2022-04-11 18:25:51   ext_temperature_0_hwID 28970c96f0013cb7
     2022-04-11 18:25:51   ext_temperature_0_tC 12.31
     2022-04-11 18:25:51   ext_temperature_0_tF 54.16
     2022-04-12 10:24:44   ext_temperature_f_0 51.5
     2022-04-11 18:25:51   fs_free         148592
     2022-04-11 18:25:51   fs_size         233681
     2022-04-11 18:25:51   fw_ver          20220209-094317/v1.11.8-g8c7bb8d
     2022-04-11 18:25:51   has_update      false
     2022-04-11 18:25:51   id              SH-Poolheizung
     2022-04-12 10:24:43   input0          0
     2022-04-11 18:25:51   inputs_1_event 
     2022-04-11 18:25:51   inputs_1_event_cnt 0
     2022-04-11 18:25:51   inputs_1_input  0
     2022-04-11 18:25:51   ip              192.168.57.217
     2022-04-11 18:25:51   mac             8CAAB55FD1E4
     2022-04-11 18:25:51   meters_1_counters_1 0.000
     2022-04-11 18:25:51   meters_1_counters_2 0.000
     2022-04-11 18:25:51   meters_1_counters_3 0.000
     2022-04-11 18:25:51   meters_1_is_valid true
     2022-04-11 18:25:51   meters_1_overpower 0.00
     2022-04-11 18:25:51   meters_1_power  0.00
     2022-04-11 18:25:51   meters_1_timestamp 0
     2022-04-11 18:25:51   meters_1_total  0
     2022-04-11 18:25:51   model           SHSW-PM
     2022-04-11 18:25:51   mqtt_connected  true
     2022-04-11 18:25:51   new_fw          false
     2022-04-11 18:25:51   online          true
     2022-04-12 10:24:44   overtemperature 0
     2022-04-11 18:25:51   ram_free        36344
     2022-04-11 18:25:51   ram_total       50456
     2022-04-12 10:24:43   relay0          off
     2022-04-12 10:24:43   relay_0_energy  0
     2022-04-12 10:24:43   relay_0_energy_total 0
     2022-04-12 10:24:43   relay_0_kWh     0.00
     2022-04-12 10:24:43   relay_0_power   0.00
     2022-04-11 18:25:51   relays_1_has_timer false
     2022-04-11 18:25:51   relays_1_ison   false
     2022-04-11 18:25:51   relays_1_overpower false
     2022-04-11 18:25:51   relays_1_source input
     2022-04-11 18:25:51   relays_1_timer_duration 0
     2022-04-11 18:25:51   relays_1_timer_remaining 0
     2022-04-11 18:25:51   relays_1_timer_started 0
     2022-04-11 18:25:51   serial          9
     2022-04-12 10:24:43   state           off
     2022-04-12 10:24:43   temperature     19.06
     2022-04-12 10:24:44   temperature_f   66.30
     2022-04-12 10:24:44   temperature_status Normal
     2022-04-11 18:25:51   time           
     2022-04-11 18:25:51   tmp_is_valid    true
     2022-04-11 18:25:51   tmp_tC          14.92
     2022-04-11 18:25:51   tmp_tF          58.85
     2022-04-11 18:25:51   unixtime        0
     2022-04-11 18:25:51   update_has_update false
     2022-04-11 18:25:51   update_new_version
     2022-04-11 18:25:51   update_old_version 20220209-094317/v1.11.8-g8c7bb8d
     2022-04-11 18:25:51   update_status   unknown
     2022-04-11 18:25:51   uptime          436
     2022-04-11 18:25:51   wifi_sta_connected true
     2022-04-11 18:25:51   wifi_sta_ip     192.168.57.217
     2022-04-11 18:25:51   wifi_sta_rssi   -70
     2022-04-11 18:25:51   wifi_sta_ssid   Internet
     2022-04-11 18:25:50   x_mqttcom       set announce
Attributes:
   alexaName  Poolheizung
   alias      Poolheizung
   comment    To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
   devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen"; my $light = ReadingsVal($name,"state","off"); my $cons = ReadingsVal($name,"relay_0_power","unknown"); my $total = ReadingsVal($name,"relay_0_kWh","unknown"); my $temp = ReadingsVal($name,"temperature","-100"); "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
   genericDeviceType switch
   group      Schwimmbad
   icon       sani_pump@1F85DE
   model      shelly1_w_energy_measuring
   readingList shellies/SH-Poolheizung/relay/0:.* state
  shellies/SH-Poolheizung/relay/0:.* relay0
  shellies/SH-Poolheizung/input/0:.* input0
  shellies/SH-Poolheizung/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on"; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }
  shellies/SH-Poolheizung/temperature:.* temperature
  shellies/SH-Poolheizung/temperature_f:.* temperature_f
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }
  shellies/SH-Poolheizung/overtemperature:.* overtemperature
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}
  shellies/SH-Poolheizung/longpush/0:.* longpush_0
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }
   room       HomeBridge
   setList    relay0:on,off,toggle shellies/SH-Poolheizung/relay/0/command $EVTPART1
  toggle:noArg shellies/SH-Poolheizung/relay/0/command toggle
  off:noArg shellies/SH-Poolheizung/relay/0/command off
  on:noArg shellies/SH-Poolheizung/relay/0/command on
  x_update:noArg shellies/SH-Poolheizung/command update_fw
  x_mqttcom shellies/SH-Poolheizung/command $EVTPART1
   setStateList on off toggle
   userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
   webCmd     on:off
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

TomLee

#1
attr SW.Poolheizung jsonMap ext_temperature_0:temperature

Vorsichtshalber (auch wenn normal nicht nötig):

1. Device in der App löschen
2. Reload oder Restart vom Alexa-Device in FHEM
3. Neue Gerätesuche anstossen

rallye

Danke, doch leider hat das nicht funktioniert obwohl ich Punkte 1-3 ausgeführt habe. Auch schon VOR der Änderung habe ich im Alexa-Log folgende Einträge gefunden:2022-04-12 00:05:51 caching: SW.Poolheizung-temperature: 13.81
...
...
2022-04-12 14:49:52 caching: SW.Poolheizung-temperature: 33.03
...
...
2022-04-12 17:54:11 caching: SW.Poolheizung-temperature: 27.14

Ich nehme an, dass das die Temperatur des internen Sensors im Shelly ist. Temperatur wird mir keine angezeigt wenn ich den SW.Poolheizung nach Alexa neu importiere. Ich könnte mir vorstellen, dass das auch auf das
attr SW.Poolheizung genericDeviceType switch
zurückzuführen ist. Vielleicht kann mir ein Homebridgemapping weiterhelfen ? Nur da bin ich leider völlig blank
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

TomLee

Klappts wenn du das ganze nochmal ohne die Angabe eines genericDeviceType machst ?

TomLee

Achso und das mit der Temperatur im Log versteh ich jetzt erst, du hattest schon ein temperature-Reading, das hatte ich gar nicht gesehen, das musst dann halt umbennenen mit jsonMap.

rallye

nein, funktioniert auch nicht. Ich habe nun diese "Lösung":
attr SW.Poolheizung genericDeviceType TemperatureSensor
und
attr SW.Poolheizung homebridgeMapping CurrentTemperature=ext_temperature_0
Nun wird SW.Poolheizung bei der Neuerkennung in der Alexa-App als Temperatursensor erkannt, trotzdem kann isch schalten. In der App sieht das dann wie im Anhang aus. Man kann auch sagen "Alexa, schalte die Poolheizung ein" bzw "Alexa, wie ist die Temperatur in der Poolheizung?" Ist ein bisserl "hatschert" wie wir Wiener sagen, aber vielleicht löse ich das noch über einen Dummy oder so.

Jedenfalls: Danke!
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

TomLee

Rein aus Interesse, kannst du mal eine (komplette mit Readings) Raw-Definition zeigen oder ein list -r von dem Device, ich würds gerne später bei mir mal nachvollziehen ohne mir was zu basteln, bin der Meinung es sollte auch ohne hombridgemapping umsetzbar sein.

rallye

Gerne doch !
define SW.Poolheizung MQTT2_DEVICE shelly1pm_8CAAB55FD1E4
attr SW.Poolheizung alexaName Poolheizung
attr SW.Poolheizung alias Poolheizung
attr SW.Poolheizung comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
attr SW.Poolheizung devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
attr SW.Poolheizung genericDeviceType TemperatureSensor
attr SW.Poolheizung group Schwimmbad
attr SW.Poolheizung homebridgeMapping CurrentTemperature=ext_temperature_0
attr SW.Poolheizung icon sani_heating_heatpump@1F85DE
attr SW.Poolheizung model shelly1_w_energy_measuring
attr SW.Poolheizung readingList shellies/SH-Poolheizung/relay/0:.* state\
  shellies/SH-Poolheizung/relay/0:.* relay0\
  shellies/SH-Poolheizung/input/0:.* input0\
  shellies/SH-Poolheizung/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power\
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on";; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }\
  shellies/SH-Poolheizung/temperature:.* temperature\
  shellies/SH-Poolheizung/temperature_f:.* temperature_f\
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/overtemperature:.* overtemperature\
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy\
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/SH-Poolheizung/longpush/0:.* longpush_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status
attr SW.Poolheizung room HomeBridge
attr SW.Poolheizung setList relay0:on,off,toggle shellies/SH-Poolheizung/relay/0/command $EVTPART1\
  toggle:noArg shellies/SH-Poolheizung/relay/0/command toggle\
  off:noArg shellies/SH-Poolheizung/relay/0/command off\
  on:noArg shellies/SH-Poolheizung/relay/0/command on\
  x_update:noArg shellies/SH-Poolheizung/command update_fw\
  x_mqttcom shellies/SH-Poolheizung/command $EVTPART1
attr SW.Poolheizung setStateList on off toggle
attr SW.Poolheizung userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
attr SW.Poolheizung webCmd on:off

setstate SW.Poolheizung off
setstate SW.Poolheizung 2022-04-12 20:09:16 0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-12 20:09:16 0_tC 13.0
setstate SW.Poolheizung 2022-04-12 20:09:16 0_tF 55.4
setstate SW.Poolheizung 2022-04-12 15:22:05 IODev MQTT_Shellies
setstate SW.Poolheizung 2022-04-12 15:23:14 actions_stats_skipped 0
setstate SW.Poolheizung 2022-04-12 15:23:14 attrTemplateVersion 20200831
setstate SW.Poolheizung 2022-04-12 15:23:14 cfg_changed_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_connected false
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_enabled false
setstate SW.Poolheizung 2022-04-12 15:39:14 event S
setstate SW.Poolheizung 2022-04-12 15:39:14 event_cnt 3
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_sensors_temperature_unit C
setstate SW.Poolheizung 2022-04-12 20:09:16 ext_temperature_0 13.0
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tC 16.69
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tF 62.04
setstate SW.Poolheizung 2022-04-12 20:09:16 ext_temperature_f_0 55.4
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_free 148592
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_size 233681
setstate SW.Poolheizung 2022-04-12 15:23:14 fw_ver 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 id SH-Poolheizung
setstate SW.Poolheizung 2022-04-12 20:09:15 input0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_input 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 18:51:09 loadState off
setstate SW.Poolheizung 2022-04-12 15:39:14 longpush_0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 mac 8CAAB55FD1E4
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_1 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_2 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_3 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_overpower 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_timestamp 0
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_total 0
setstate SW.Poolheizung 2022-04-12 15:23:14 model SHSW-PM
setstate SW.Poolheizung 2022-04-12 15:23:14 mqtt_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 new_fw false
setstate SW.Poolheizung 2022-04-12 15:23:14 online true
setstate SW.Poolheizung 2022-04-12 20:09:16 overtemperature 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_free 38184
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_total 50456
setstate SW.Poolheizung 2022-04-12 20:09:15 relay0 off
setstate SW.Poolheizung 2022-04-12 20:09:15 relay_0_energy 0
setstate SW.Poolheizung 2022-04-12 20:09:15 relay_0_energy_total 0
setstate SW.Poolheizung 2022-04-12 20:09:15 relay_0_kWh 0.00
setstate SW.Poolheizung 2022-04-12 20:09:15 relay_0_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_has_timer false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_ison false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_overpower false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_source input
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_duration 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_remaining 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_started 0
setstate SW.Poolheizung 2022-04-12 15:23:14 serial 3
setstate SW.Poolheizung 2022-04-12 20:09:15 state off
setstate SW.Poolheizung 2022-04-12 20:09:16 temperature 22.32
setstate SW.Poolheizung 2022-04-12 20:09:16 temperature_f 72.17
setstate SW.Poolheizung 2022-04-12 20:09:16 temperature_status Normal
setstate SW.Poolheizung 2022-04-12 15:23:14 time
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tC 36.03
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tF 96.85
setstate SW.Poolheizung 2022-04-12 15:23:14 unixtime 0
setstate SW.Poolheizung 2022-04-12 15:23:14 update_has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 update_new_version
setstate SW.Poolheizung 2022-04-12 15:23:14 update_old_version 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 update_status unknown
setstate SW.Poolheizung 2022-04-12 15:23:14 uptime 73
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_rssi -71
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ssid Internet
setstate SW.Poolheizung 2022-04-12 15:23:14 x_mqttcom set announce


bzw.

defmod SW.Poolheizung MQTT2_DEVICE shelly1pm_8CAAB55FD1E4
attr SW.Poolheizung alexaName Poolheizung
attr SW.Poolheizung alias Poolheizung
attr SW.Poolheizung comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.
attr SW.Poolheizung devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
attr SW.Poolheizung genericDeviceType TemperatureSensor
attr SW.Poolheizung group Schwimmbad
attr SW.Poolheizung homebridgeMapping CurrentTemperature=ext_temperature_0
attr SW.Poolheizung icon sani_heating_heatpump@1F85DE
attr SW.Poolheizung model shelly1_w_energy_measuring
attr SW.Poolheizung readingList shellies/SH-Poolheizung/relay/0:.* state\
  shellies/SH-Poolheizung/relay/0:.* relay0\
  shellies/SH-Poolheizung/input/0:.* input0\
  shellies/SH-Poolheizung/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power\
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on";; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }\
  shellies/SH-Poolheizung/temperature:.* temperature\
  shellies/SH-Poolheizung/temperature_f:.* temperature_f\
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/overtemperature:.* overtemperature\
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy\
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/SH-Poolheizung/longpush/0:.* longpush_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status
attr SW.Poolheizung room HomeBridge
attr SW.Poolheizung setList relay0:on,off,toggle shellies/SH-Poolheizung/relay/0/command $EVTPART1\
  toggle:noArg shellies/SH-Poolheizung/relay/0/command toggle\
  off:noArg shellies/SH-Poolheizung/relay/0/command off\
  on:noArg shellies/SH-Poolheizung/relay/0/command on\
  x_update:noArg shellies/SH-Poolheizung/command update_fw\
  x_mqttcom shellies/SH-Poolheizung/command $EVTPART1
attr SW.Poolheizung setStateList on off toggle
attr SW.Poolheizung userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
attr SW.Poolheizung webCmd on:off

setstate SW.Poolheizung off
setstate SW.Poolheizung 2022-04-12 20:10:16 0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-12 20:10:16 0_tC 13.0
setstate SW.Poolheizung 2022-04-12 20:10:16 0_tF 55.4
setstate SW.Poolheizung 2022-04-12 15:22:05 IODev MQTT_Shellies
setstate SW.Poolheizung 2022-04-12 15:23:14 actions_stats_skipped 0
setstate SW.Poolheizung 2022-04-12 15:23:14 attrTemplateVersion 20200831
setstate SW.Poolheizung 2022-04-12 15:23:14 cfg_changed_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_connected false
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_enabled false
setstate SW.Poolheizung 2022-04-12 15:39:14 event S
setstate SW.Poolheizung 2022-04-12 15:39:14 event_cnt 3
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_sensors_temperature_unit C
setstate SW.Poolheizung 2022-04-12 20:10:16 ext_temperature_0 13.0
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tC 16.69
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tF 62.04
setstate SW.Poolheizung 2022-04-12 20:10:16 ext_temperature_f_0 55.4
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_free 148592
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_size 233681
setstate SW.Poolheizung 2022-04-12 15:23:14 fw_ver 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 id SH-Poolheizung
setstate SW.Poolheizung 2022-04-12 20:10:15 input0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_input 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 18:51:09 loadState off
setstate SW.Poolheizung 2022-04-12 15:39:14 longpush_0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 mac 8CAAB55FD1E4
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_1 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_2 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_3 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_overpower 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_timestamp 0
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_total 0
setstate SW.Poolheizung 2022-04-12 15:23:14 model SHSW-PM
setstate SW.Poolheizung 2022-04-12 15:23:14 mqtt_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 new_fw false
setstate SW.Poolheizung 2022-04-12 15:23:14 online true
setstate SW.Poolheizung 2022-04-12 20:10:16 overtemperature 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_free 38184
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_total 50456
setstate SW.Poolheizung 2022-04-12 20:10:15 relay0 off
setstate SW.Poolheizung 2022-04-12 20:10:16 relay_0_energy 0
setstate SW.Poolheizung 2022-04-12 20:10:16 relay_0_energy_total 0
setstate SW.Poolheizung 2022-04-12 20:10:16 relay_0_kWh 0.00
setstate SW.Poolheizung 2022-04-12 20:10:15 relay_0_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_has_timer false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_ison false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_overpower false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_source input
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_duration 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_remaining 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_started 0
setstate SW.Poolheizung 2022-04-12 15:23:14 serial 3
setstate SW.Poolheizung 2022-04-12 20:10:15 state off
setstate SW.Poolheizung 2022-04-12 20:10:16 temperature 22.32
setstate SW.Poolheizung 2022-04-12 20:10:16 temperature_f 72.17
setstate SW.Poolheizung 2022-04-12 20:10:16 temperature_status Normal
setstate SW.Poolheizung 2022-04-12 15:23:14 time
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tC 36.03
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tF 96.85
setstate SW.Poolheizung 2022-04-12 15:23:14 unixtime 0
setstate SW.Poolheizung 2022-04-12 15:23:14 update_has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 update_new_version
setstate SW.Poolheizung 2022-04-12 15:23:14 update_old_version 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 update_status unknown
setstate SW.Poolheizung 2022-04-12 15:23:14 uptime 73
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_rssi -71
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ssid Internet
setstate SW.Poolheizung 2022-04-12 15:23:14 x_mqttcom set announce



Wenn Du eine elegante Lösung gefunden hast: bin sehr daran interessiert!

LG aus Wien
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

TomLee

#8
Ich hab jetzt auf die Schnelle nur deine Definition genommen, genericdevicetype und homebridgemapping gelöscht, das Alexa-Device reloaded, eine neue Gerätesuche gemacht und das Device wird in Alexa als Switch erkannt, in der App wird keine Temperatur angezeigt (wen interessierts), aber per Sprache abfragen klappt und auch das schalten.
Ergo: mein Vorschlag das Readings ext_temperature_0 nach temperature und das aktuelle temperature Reading nach "irgdendwas" zu mappen sollte erst mal klappen wie vorgeschlagen.

Wie man jetzt beides in der App mit default-Werten (ohne homebridgemapping) angezeigt bekommt mag ich mich nicht mit (den Hintergründen) beschäftigen.

Wenn es bei dir auch so klappt dann könnte man sich weiter Gedanken ob es Sinn macht den Wert gleich im Reading temperature landen zu lassen.

rallye

Ich hab nun etwas herumexperimentiert und folgende Änderungen gemacht:
readingList:

shellies/SH-Poolheizung/temperature:.* temperature   -->    shellies/SH-Poolheizung/temperature:.* temperature_device
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0  -->  shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* temperature


genericDeviceType TemperatureSensor

Der Nachteil dieser Änderungen in der readinglist ist, dass sie bei
set SW.Poolheizung attrTemplate shelly1_w_energy_measuring
meine Änderungen verloren gehen. Dass ich das hin und wieder machen muss liegt hierin --> https://forum.fhem.de/index.php/topic,127164.msg1217552.html#msg1217552 begründet.
Jedenfalls muss ich das

genericDeviceType TemperatureSensor

drinnen haben, ansonsten wird (bei mir) das Device immer als switch erkannt. Das RAW-Listing sieht nun so aus:
defmod SW.Poolheizung MQTT2_DEVICE shelly1pm_8CAAB55FD1E4
attr SW.Poolheizung alexaName Poolheizung,Wassertemperatur,Pooltemperatur
attr SW.Poolheizung alias Poolheizung
attr SW.Poolheizung comment To get appropriate loadState values: Change the default limit "100" in readingList to your needs.\
\
Original readingList as per template:\
shellies/SH-Poolheizung/relay/0:.* state\
  shellies/SH-Poolheizung/relay/0:.* relay0\
  shellies/SH-Poolheizung/input/0:.* input0\
  shellies/SH-Poolheizung/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power\
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on";; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }\
  shellies/SH-Poolheizung/temperature:.* temperature\
  shellies/SH-Poolheizung/temperature_f:.* temperature_f\
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/overtemperature:.* overtemperature\
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy\
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/SH-Poolheizung/longpush/0:.* longpush_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status\
\
\
Changed entries of readingList:\
  shellies/SH-Poolheizung/temperature:.* temperature   -->    shellies/SH-Poolheizung/temperature:.* temperature_device\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* ext_temperature_0  -->  shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* temperature\

attr SW.Poolheizung devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "false"?"10px-kreis-rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "10px-kreis-gelb" : "10px-kreis-gruen";; my $light = ReadingsVal($name,"state","off");; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $total = ReadingsVal($name,"relay_0_kWh","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons / Total: $total/ Temp: $temp °C</div>"}
attr SW.Poolheizung genericDeviceType TemperatureSensor
attr SW.Poolheizung group Schwimmbad
attr SW.Poolheizung icon sani_heating_heatpump@1F85DE
attr SW.Poolheizung model shelly1_w_energy_measuring
attr SW.Poolheizung readingList shellies/SH-Poolheizung/relay/0:.* state\
  shellies/SH-Poolheizung/relay/0:.* relay0\
  shellies/SH-Poolheizung/input/0:.* input0\
  shellies/SH-Poolheizung/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...SH-Poolheizung...mac.*, ? json2nameValue($EVENT) : return }\
  shellies/SH-Poolheizung/announce:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/relay/0/power:.* relay_0_power\
  shellies/SH-Poolheizung/relay/0/power:.* { my $compare = $EVTPART0 < 100 ? "off":"on";; ReadingsVal($NAME,"loadState","off") ne $compare ? { 'loadState' => $compare } : return }\
  shellies/SH-Poolheizung/temperature:.* temperature_device\
  shellies/SH-Poolheizung/temperature_f:.* temperature_f\
  shellies/SH-Poolheizung/input_event/0:.* { json2nameValue($EVENT) }\
  shellies/SH-Poolheizung/overtemperature:.* overtemperature\
  shellies/SH-Poolheizung/relay/0/energy:.* relay_0_energy\
  shellies/SH-Poolheizung/relay/0/energy:.* {'relay_0_kWh' => sprintf("%.2f",$EVENT/60/1000)}\
  shellies/SH-Poolheizung/longpush/0:.* longpush_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/info:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature/0:.* temperature\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperature_f/0:.* ext_temperature_f_0\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/ext_temperatures_f:.* { json2nameValue($EVENT) }\
shelly1pm_8CAAB55FD1E4:shellies/SH-Poolheizung/temperature_status:.* temperature_status
attr SW.Poolheizung room HomeBridge
attr SW.Poolheizung setList relay0:on,off,toggle shellies/SH-Poolheizung/relay/0/command $EVTPART1\
  toggle:noArg shellies/SH-Poolheizung/relay/0/command toggle\
  off:noArg shellies/SH-Poolheizung/relay/0/command off\
  on:noArg shellies/SH-Poolheizung/relay/0/command on\
  x_update:noArg shellies/SH-Poolheizung/command update_fw\
  x_mqttcom shellies/SH-Poolheizung/command $EVTPART1
attr SW.Poolheizung setStateList on off toggle
attr SW.Poolheizung userReadings relay_0_energy_total:relay_0_energy:.* monotonic {ReadingsNum("$name","relay_0_energy",0)}
attr SW.Poolheizung webCmd on:off

setstate SW.Poolheizung off
setstate SW.Poolheizung 2022-04-15 10:36:36 0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-15 10:36:36 0_tC 13.5
setstate SW.Poolheizung 2022-04-15 10:36:36 0_tF 56.3
setstate SW.Poolheizung 2022-04-12 15:22:05 IODev MQTT_Shellies
setstate SW.Poolheizung 2022-04-12 15:23:14 actions_stats_skipped 0
setstate SW.Poolheizung 2022-04-12 15:23:14 attrTemplateVersion 20200831
setstate SW.Poolheizung 2022-04-12 15:23:14 cfg_changed_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_connected false
setstate SW.Poolheizung 2022-04-12 15:23:14 cloud_enabled false
setstate SW.Poolheizung 2022-04-12 15:39:14 event S
setstate SW.Poolheizung 2022-04-12 15:39:14 event_cnt 3
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_sensors_temperature_unit C
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_hwID 28970c96f0013cb7
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tC 16.69
setstate SW.Poolheizung 2022-04-12 15:23:14 ext_temperature_0_tF 62.04
setstate SW.Poolheizung 2022-04-15 10:36:36 ext_temperature_f_0 56.3
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_free 148592
setstate SW.Poolheizung 2022-04-12 15:23:14 fs_size 233681
setstate SW.Poolheizung 2022-04-12 15:23:14 fw_ver 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 id SH-Poolheizung
setstate SW.Poolheizung 2022-04-15 10:36:36 input0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_event_cnt 0
setstate SW.Poolheizung 2022-04-12 15:23:14 inputs_1_input 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 18:51:09 loadState off
setstate SW.Poolheizung 2022-04-12 15:39:14 longpush_0 0
setstate SW.Poolheizung 2022-04-12 15:23:14 mac 8CAAB55FD1E4
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_1 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_2 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_counters_3 0.000
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_overpower 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_timestamp 0
setstate SW.Poolheizung 2022-04-12 15:23:14 meters_1_total 0
setstate SW.Poolheizung 2022-04-12 15:23:14 model SHSW-PM
setstate SW.Poolheizung 2022-04-12 15:23:14 mqtt_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 new_fw false
setstate SW.Poolheizung 2022-04-12 15:23:14 online true
setstate SW.Poolheizung 2022-04-15 10:36:36 overtemperature 0
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_free 38184
setstate SW.Poolheizung 2022-04-12 15:23:14 ram_total 50456
setstate SW.Poolheizung 2022-04-15 10:36:36 relay0 off
setstate SW.Poolheizung 2022-04-15 10:36:36 relay_0_energy 0
setstate SW.Poolheizung 2022-04-15 10:36:36 relay_0_energy_total 0
setstate SW.Poolheizung 2022-04-15 10:36:36 relay_0_kWh 0.00
setstate SW.Poolheizung 2022-04-15 10:36:36 relay_0_power 0.00
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_has_timer false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_ison false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_overpower false
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_source input
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_duration 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_remaining 0
setstate SW.Poolheizung 2022-04-12 15:23:14 relays_1_timer_started 0
setstate SW.Poolheizung 2022-04-12 15:23:14 serial 3
setstate SW.Poolheizung 2022-04-15 10:36:36 state off
setstate SW.Poolheizung 2022-04-15 10:36:36 temperature 13.5
setstate SW.Poolheizung 2022-04-15 10:36:36 temperature_device 21.81
setstate SW.Poolheizung 2022-04-15 10:36:36 temperature_f 71.26
setstate SW.Poolheizung 2022-04-15 10:36:36 temperature_status Normal
setstate SW.Poolheizung 2022-04-12 15:23:14 time
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_is_valid true
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tC 36.03
setstate SW.Poolheizung 2022-04-12 15:23:14 tmp_tF 96.85
setstate SW.Poolheizung 2022-04-12 15:23:14 unixtime 0
setstate SW.Poolheizung 2022-04-12 15:23:14 update_has_update false
setstate SW.Poolheizung 2022-04-12 15:23:14 update_new_version
setstate SW.Poolheizung 2022-04-12 15:23:14 update_old_version 20220209-094317/v1.11.8-g8c7bb8d
setstate SW.Poolheizung 2022-04-12 15:23:14 update_status unknown
setstate SW.Poolheizung 2022-04-12 15:23:14 uptime 73
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_connected true
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ip 192.168.57.217
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_rssi -71
setstate SW.Poolheizung 2022-04-12 15:23:14 wifi_sta_ssid Internet
setstate SW.Poolheizung 2022-04-12 15:23:14 x_mqttcom set announce

Was nicht funktioniert ist, dass ich die Frage stelle: Alexa, was ist die Wassertemperatur? obwohl ich einen alexaNamen "Wassertemperatur" definiert habe. Aber das ist eine andere Geschichte... Ich bin am Überlegen ob ich mir ein eigenes Template für diesen shelly1PM "schnitze" in welchem meine Änderungen "fix verdrahted" sind.
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

TomLee

Das man zwei Namen angeben war nie "offiziell".
Wenn, dann mit Semikolon als Trenner. Wasser oder Wassertemperatur sind keine guten Namen um die Temperatur abzufragen.

Ich habs mal nachgestellt, mit Poolheizung und Aubergine als alexaName.

Auf die Nachfrage : "Wie ist die Temperatur von Aubergine" bekomme ich als Antwort "Die Temperatur von Poolheizung Aubergine ist bla"

Auf die Nachfrage : "Wie ist die Temperatur von Poolheizung" bekomme ich als Antwort "Die Temperatur von Poolheizung Aubergine ist bla"

Mein Vorschlag: einfach nur Pool als alexaName.

"Wie ist die Temperatur vom Pool" -> "Die Temperatur von Pool ist bla"
"Pool ein/auschalten"

TomLee

Noch besser, nur Poolheizung als alexaName beibehalten, das Device in der App in die Gruppe Pool stecken und mit:

"Wie ist die Temperatur im Pool"

die Antwort

"Die Temperatur von Pool ist bla"

erhalten.

:)

rallye

Zitat von: TomLee am 15 April 2022, 11:15:42
Das man zwei Namen angeben war nie "offiziell".
Wenn, dann mit Semikolon als Trenner. Wasser oder Wassertemperatur sind keine guten Namen um die Temperatur abzufragen.
Das überrascht mich. Zitat aus dem WIKI https://wiki.fhem.de/wiki/FHEM_Connector_für_Amazon_Alexa
Mehrere Namen für dasselbe Gerät/Device in fhem sind möglich.
Die Namen werden durch Strichpunkt Komma getrennt.
Beispiel:
attr dmLampe alexaName Lichtkuppel,Lichtkugel

Aber ehrlich: ich hänge nicht an den verschiedenen Namen. Dein Vorschlag im letzten Post ist ohnehin viel genialer! Danke!!!
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

MadMax-FHEM

An anderer Stelle im SELBEN Wiki steht eben das mit Strichpunkt ;)

Denke aber für beide Einträge (wobei bei dem Strichpunkt-Eintrag zumindest vermerkt ist wo es herkommt) gilt: Hinweise

Feature nicht dokumentiert Forumsthread https://forum.fhem.de/index.php/topic,74041.0.html

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)