Hallo zusammen,
ich benutze seid einiger Zeit einen Shelly 2 mit Rolladenmotor für unsere Hühnerklappe. Der Shelly ist über die Funktion OPEN/CLOSE WORKING TIME so eingestellt das ganz geschlossen und geöffnet wird. Habe nun in FHEM aber ohne Kalibrierung keine Statusanzeigen ob geöffnet oder geschlossen.
Will ich den Shelly kalibrieren beachtet er die OPEN/CLOSE Time nicht und der Motor dreht einfach weiter. Die Endanschläge vom Motor lassen sich leider auch nicht einstellen wenn er überhaupt welche hat. Wie könnte ich den Shelly trotzdem kalibrieren evtl. über die Fahrzeiten?
Oder wäre es möglich in FHEM Userattribut schreiben zu lassen auf Grundlage vom Shelly Reading
current
Hier könnte ich die Meldungen opens und closes als Trigger verwenden?
Hi,
automatisch Kalibrieren geht wohl nur, wenn die Motoren Endschalter haben und auch eine gewisse Leistung ziehen, vielleicht so ab 3-5W? Bei der Kalibrierung fährt der Shelly einen Rollo erst mal auf, dann ganz zu, dann wieder auf, dann in Schritten 0 25% 50% (75%)? Weiss es nicht mehr genau, ist ne Weile her. Die Fahrten werden recht schnell umgeschaltet. Im Shelly-Forum wurde mal beschrieben, wie man das mit Glühlampen "simulieren" kann, denke aber, das ist nicht unbedingt nötig.
Das Reading current kennt bei mir opens, closes und stop. Das sollte doch genügen, einen definierten Stand festzustellen. (Ich betreibe mit dem Shelly Umschaltrelais für einen Sonnenschutz, die laufen mit 24V und geringer Leistung, deshalb geht die Autokalibration gar nicht. Habe die Zeiten gestoppt und im Shelly eingetragen, die Rollos stoppen von alleine am Endanschlag).
Ich würde den Eventmonitor mit Filter auf den Shelly laufen lassen, evtl die event-on-xxx Attribute vorübergehend löschen und dann die Hühnerklappe auf und zufahren. Damit bekommst Du alles, was der Shelly beim öffnen/schliessen so von sich gibt und Du kannst für die Weiterverarbeitung gleich entsprechende Trigger für notify/DOIF/... erzeugen lassen.
Gruß
Sany
Ja so in der Art habe ich mir das gedacht, mit Notify oder DOIF ein Status setzen über das reading current. Finde da nur überhaupt kein Ansatz wie das aussehen kann? Soll das DOIF ein Dummy schalten? Oder kann das DOIF z.B. dann direkt in ein Userrreading den aktuellen Status rein schreiben?
Ich hatte es ja schon geschrieben:
ZitatIch würde den Eventmonitor mit Filter auf den Shelly laufen lassen, evtl die event-on-xxx Attribute vorübergehend löschen und dann die Hühnerklappe auf und zufahren. Damit bekommst Du alles, was der Shelly beim öffnen/schliessen so von sich gibt und Du kannst für die Weiterverarbeitung gleich entsprechende Trigger für notify/DOIF/... erzeugen lassen.
Gut wäre es vorher noch
Zitatattr global mseclog 1
in die fhem Eingabezeile einzugeben, dann werden die Millisekunden bei den Events mit angezeigt.
Du kannst dann z.B. mit einem DOIF und DOIF_Readings dir die Zustände sehr einfach in ein Reading schreiben lassen und zur Anzeige oder Triggerung zu verwenden.
Mach mal das mit dem Eventmonitor, lass ruhig ne Minute oder so zwischen öffnen->off und schliessen->geschlossen verstreichen, damit man gut erkennen kann, wie sich die Readings vom Shelly ändern. Das postest Du hier und dann kann man da was draus machen. UNd ein List vom Shelly bitte auch.
Gruß
Sany
P.S. ich schlage hier (dann) eine Lösung mit DOIF vor, weil ich es so machen würde. Das geht natürlich auch anders, genauso wie es viele Wege nach Rom gibt. Aber erst mal auf die Eventmonitor-Daten warten.....
Okay hier mal das Log von ein paar Fahrten....
2023-02-20 13:12:10.664 MQTT2_DEVICE Huehnerklappe set_open
2023-02-20 13:12:11.028 MQTT2_DEVICE Huehnerklappe opening
2023-02-20 13:12:11.028 MQTT2_DEVICE Huehnerklappe current: opens
2023-02-20 13:12:11.034 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:12:11.034 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:12:11.038 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:12:11.230 MQTT2_DEVICE Huehnerklappe roller_0_power: 138.32
2023-02-20 13:12:11.235 MQTT2_DEVICE Huehnerklappe power: 138.32
2023-02-20 13:12:11.240 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11723
2023-02-20 13:12:11.244 MQTT2_DEVICE Huehnerklappe energy: 11723
2023-02-20 13:12:14.196 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11723
2023-02-20 13:12:14.207 MQTT2_DEVICE Huehnerklappe energy: 11723
2023-02-20 13:12:20.524 MQTT2_DEVICE Huehnerklappe current: stop
2023-02-20 13:12:20.530 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:12:20.530 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:12:20.535 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:12:50.537 MQTT2_DEVICE Huehnerklappe current: stop
2023-02-20 13:12:50.543 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:12:50.543 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:12:50.548 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:12:50.553 MQTT2_DEVICE Huehnerklappe roller_0_power: 0.00
2023-02-20 13:12:50.557 MQTT2_DEVICE Huehnerklappe power: 0.00
2023-02-20 13:12:50.562 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11723
2023-02-20 13:12:50.566 MQTT2_DEVICE Huehnerklappe energy: 11723
2023-02-20 13:12:50.571 MQTT2_DEVICE Huehnerklappe input1: 0
2023-02-20 13:12:50.576 MQTT2_DEVICE Huehnerklappe input0: 0
2023-02-20 13:12:50.580 MQTT2_DEVICE Huehnerklappe temperature: 32.28
2023-02-20 13:12:50.585 MQTT2_DEVICE Huehnerklappe temperature_f: 90.11
2023-02-20 13:12:50.589 MQTT2_DEVICE Huehnerklappe overtemperature: 0
2023-02-20 13:12:50.594 MQTT2_DEVICE Huehnerklappe temperature_status: Normal
2023-02-20 13:12:50.598 MQTT2_DEVICE Huehnerklappe voltage: 242.68
2023-02-20 13:12:50.999 MQTT2_DEVICE Huehnerklappe set_close
2023-02-20 13:12:51.375 MQTT2_DEVICE Huehnerklappe closing
2023-02-20 13:12:51.375 MQTT2_DEVICE Huehnerklappe current: closes
2023-02-20 13:12:51.381 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:12:51.381 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:12:51.386 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:12:51.575 MQTT2_DEVICE Huehnerklappe roller_0_power: 141.01
2023-02-20 13:12:51.580 MQTT2_DEVICE Huehnerklappe power: 141.01
2023-02-20 13:12:51.585 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11723
2023-02-20 13:12:51.590 MQTT2_DEVICE Huehnerklappe energy: 11723
2023-02-20 13:13:00.474 MQTT2_DEVICE Huehnerklappe current: stop
2023-02-20 13:13:00.479 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:13:00.479 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:13:00.484 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:13:16.234 MQTT2_DEVICE Huehnerklappe set_open
2023-02-20 13:13:16.520 MQTT2_DEVICE Huehnerklappe opening
2023-02-20 13:13:16.520 MQTT2_DEVICE Huehnerklappe current: opens
2023-02-20 13:13:16.526 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:13:16.526 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:13:16.532 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
2023-02-20 13:13:16.715 MQTT2_DEVICE Huehnerklappe roller_0_power: 137.56
2023-02-20 13:13:16.720 MQTT2_DEVICE Huehnerklappe power: 137.56
2023-02-20 13:13:16.725 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11862
2023-02-20 13:13:16.729 MQTT2_DEVICE Huehnerklappe energy: 11862
2023-02-20 13:13:20.976 MQTT2_DEVICE Huehnerklappe roller_0_energy: 11862
2023-02-20 13:13:20.981 MQTT2_DEVICE Huehnerklappe energy: 11862
2023-02-20 13:13:26.012 MQTT2_DEVICE Huehnerklappe current: stop
2023-02-20 13:13:26.018 MQTT2_DEVICE Huehnerklappe pct: 101
2023-02-20 13:13:26.018 MQTT2_DEVICE Huehnerklappe 101
2023-02-20 13:13:26.023 MQTT2_DEVICE Huehnerklappe roller_0_stop_reason: normal
Dazu noch das list vom Device
Internals:
CID shellyswitch25_98F4ABF3686D
DEF shellyswitch25_98F4ABF3686D
FUUID 62246674-f33f-487e-b8db-38c9e4b0087ee4c8
FVERSION 10_MQTT2_DEVICE.pm:0.268600/2022-12-16
IODev MQTT2_FHEM_Server
LASTInputDev MQTT2_FHEM_Server
MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_172.17.0.1_57746
MQTT2_FHEM_Server_MSGCNT 698
MQTT2_FHEM_Server_TIME 2023-02-20 13:14:56
MSGCNT 842
NAME Huehnerklappe
NR 83
STATE <a href="http://192.168.178.205" target="_blank">
true
</a>
101/stop
TYPE MQTT2_DEVICE
eventCount 223
mqtt_io_MSGCNT 144
mqtt_io_TIME 2023-02-20 12:57:11
READINGS:
2023-02-20 12:50:31 IODev MQTT2_FHEM_Server
2023-02-20 12:50:41 actions_stats_skipped 0
2023-02-20 12:50:41 cfg_changed_cnt 4
2023-02-20 12:50:41 cloud_connected false
2023-02-20 12:50:41 cloud_enabled false
2023-02-20 13:14:56 current stop
2023-02-20 13:14:56 energy 11994
2023-02-20 12:50:41 fs_free 145329
2023-02-20 12:50:41 fs_size 233681
2023-02-20 12:50:41 fw_ver 20221027-092056/v1.12.1-ga9117d3
2023-02-20 12:50:41 has_update false
2023-02-20 12:50:41 id shellyswitch25-98F4ABF3686D
2023-02-20 13:14:56 input0 0
2023-02-20 13:14:56 input1 0
2023-02-20 12:50:41 inputs_1_event
2023-02-20 12:50:41 inputs_1_event_cnt 0
2023-02-20 12:50:41 inputs_1_input 0
2023-02-20 12:50:41 inputs_2_event
2023-02-20 12:50:41 inputs_2_event_cnt 0
2023-02-20 12:50:41 inputs_2_input 0
2023-02-20 12:50:41 ip 192.168.178.205
2023-02-20 12:50:41 mac 98F4ABF3686D
2023-02-20 12:50:41 meters_1_counters_1 0.000
2023-02-20 12:50:41 meters_1_counters_2 0.000
2023-02-20 12:50:41 meters_1_counters_3 0.000
2023-02-20 12:50:41 meters_1_is_valid true
2023-02-20 12:50:41 meters_1_overpower 0.00
2023-02-20 12:50:41 meters_1_power 0.00
2023-02-20 12:50:41 meters_1_timestamp 1676897441
2023-02-20 12:50:41 meters_1_total 5748
2023-02-20 12:50:41 meters_2_counters_1 0.000
2023-02-20 12:50:41 meters_2_counters_2 0.000
2023-02-20 12:50:41 meters_2_counters_3 0.000
2023-02-20 12:50:41 meters_2_is_valid true
2023-02-20 12:50:41 meters_2_overpower 0.00
2023-02-20 12:50:41 meters_2_power 0.00
2023-02-20 12:50:41 meters_2_timestamp 1676897441
2023-02-20 12:50:41 meters_2_total 5837
2023-02-20 12:50:41 mode roller
2023-02-20 12:50:41 model SHSW-25
2023-02-20 12:50:41 mqtt_connected true
2023-02-20 12:50:41 new_fw false
2023-02-20 12:50:41 online true
2023-02-20 13:14:56 overtemperature 0
2023-02-20 13:14:56 pct 101
2023-02-20 13:14:56 power 0.00
2023-02-20 12:50:41 ram_free 37112
2023-02-20 12:50:41 ram_total 50728
2023-02-20 13:14:56 roller_0_energy 11994
2023-02-20 13:14:56 roller_0_power 0.00
2023-02-20 13:14:56 roller_0_stop_reason normal
2023-02-20 12:50:41 rollers_1_calibrating false
2023-02-20 12:50:41 rollers_1_current_pos 106
2023-02-20 12:50:41 rollers_1_is_valid true
2023-02-20 12:50:41 rollers_1_last_direction open
2023-02-20 12:50:41 rollers_1_overtemperature false
2023-02-20 12:50:41 rollers_1_positioning false
2023-02-20 12:50:41 rollers_1_power 0.00
2023-02-20 12:50:41 rollers_1_safety_switch false
2023-02-20 12:50:41 rollers_1_source mqtt
2023-02-20 12:50:41 rollers_1_state stop
2023-02-20 12:50:41 rollers_1_stop_reason normal
2023-02-20 12:50:41 serial 1166
2023-02-20 13:14:56 state 101
2023-02-20 13:14:56 temperature 31.39
2023-02-20 13:14:56 temperature_f 88.51
2023-02-20 13:14:56 temperature_status Normal
2023-02-20 12:50:41 time 12:50
2023-02-20 12:50:41 tmp_is_valid true
2023-02-20 12:50:41 tmp_tC 37.65
2023-02-20 12:50:41 tmp_tF 99.77
2023-02-20 12:50:41 unixtime 1676893841
2022-10-25 17:40:03 update_beta_version 20221014-081716/v1.12.1-rc1-gd2158aa
2023-02-20 12:50:41 update_has_update false
2023-02-20 12:50:41 update_new_version 20221027-092056/v1.12.1-ga9117d3
2023-02-20 12:50:41 update_old_version 20221027-092056/v1.12.1-ga9117d3
2023-02-20 12:50:41 update_status idle
2023-02-20 12:50:41 uptime 3215809
2023-02-20 13:14:56 voltage 242.15
2023-02-20 12:50:41 wifi_sta_connected true
2023-02-20 12:50:41 wifi_sta_ip 192.168.178.205
2023-02-20 12:50:41 wifi_sta_rssi -77
2023-02-20 12:50:41 wifi_sta_ssid MiSAMI-WLAN
hmccu:
Attributes:
alias Huehnerklappe
cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
comment Shelly 2.5 in Roller-Mode. 0=opened / 100=closed
devStateIcon .*/open:fts_shutter_up@red .*/close:fts_shutter_down@red true:10px-kreis-gruen false:10px-kreis-rot 0/stop:fts_shutter_100 100/stop:fts_shutter_10 9\d/stop:fts_shutter_10 8\d/stop:fts_shutter_20 7\d/stop:fts_shutter_30 6\d/stop:fts_shutter_40 5\d/stop:fts_shutter_50 4\d/stop:fts_shutter_60 3\d/stop:fts_shutter_70 2\d/stop:fts_shutter_80 1\d/stop:fts_shutter_90 0\d/stop:fts_shutter_100 set_.*:fts_shutter_updown
eventMap open:opens close:closes
genericDeviceType blind
icon fts_shutter_30
model shelly25_roller_invert_1
readingList shellies/shellyswitch25-98F4ABF3686D/roller/0/pos:.* {'pct' => 100-$EVENT}
shellies/shellyswitch25-98F4ABF3686D/status/0/rollers:.* power
shellies/shellyswitch25-98F4ABF3686D/online:.* online
shellies/shellyswitch25-98F4ABF3686D/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-98F4ABF3686D...mac.*, ? json2nameValue($EVENT) : return }
shellies/shellyswitch25-98F4ABF3686D/roller/0:.* current
shellies/shellyswitch25-98F4ABF3686D/roller/0:open {{'state' => 'opening'}}
shellies/shellyswitch25-98F4ABF3686D/roller/0:close {{'state' => 'closing'}}
shellies/shellyswitch25-98F4ABF3686D/roller/0/pos:.* {'state' => 100-$EVENT}
shellies/shellyswitch25-98F4ABF3686D/input/1:.* input1
shellies/shellyswitch25-98F4ABF3686D/input/0:.* input0
shellies/shellyswitch25-98F4ABF3686D/relay/power:.* power
shellies/shellyswitch25-98F4ABF3686D/relay/energy:.* energy
shellies/shellyswitch25-98F4ABF3686D/temperature:.* temperature
shellies/shellyswitch25-98F4ABF3686D/overtemperature:.* overtemperature
shellies/shellyswitch25-98F4ABF3686D/roller/0/power:.* roller_0_power
shellies/shellyswitch25-98F4ABF3686D/roller/0/energy:.* roller_0_energy
shellies/shellyswitch25-98F4ABF3686D/temperature_f:.* temperature_f
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/info:.* { json2nameValue($EVENT) }
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/roller/0/stop_reason:.* roller_0_stop_reason
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/temperature_status:.* temperature_status
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/voltage:.* voltage
room 21_Garten
setList open:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command open
close:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command close
half:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command/pos 50
stop:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command stop
pct:slider,0,1,100 {"shellies/shellyswitch25-98F4ABF3686D/roller/0/command/pos ".(100-$EVTPART1)}
x_recalibration:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command rc
x_update:noArg shellies/shellyswitch25-98F4ABF3686D/command update_fw
x_mqttcom shellies/shellyswitch25-98F4ABF3686D/command $EVTPART1
setStateList open close half stop pct
stateFormat <a href="http://ip" target="_blank">
online
</a>
state/current
webCmd :open:close:half:stop:pct
Zitat von: michisa86888 am 10 Februar 2023, 20:18:40
Die Endanschläge vom Motor lassen sich leider auch nicht einstellen wenn er überhaupt welche hat.
Hallo michisa86888,
würdest du verraten, was für einen Motor das ist?!
Ich kenne welche die mechanisch oder elektr(on)isch einzustellen sind, aber ganz ohne...
Nur interesse halber.
Gruß
Sorry für die späte Rückmeldung, ich war mal einige Tage "offline"....
Wenn ich Dich recht verstehe willst Du ja nur den Zustand angezeigt bekommen, ob die Klappe nun offen oder zu ist. Das geht prima per userReadings, da braucht es gar nix weiter.
Ein Vorschlag:
attr Huehnerklappe userReadings Klappe:current.* {(ReadingsVal($name,"Klappe","--") eq "open" and ReadingsVal($name,"current","++") eq "stop")?"OPEN":(ReadingsVal($name,"Klappe","--") eq "close" and ReadingsVal($name,"current","++") eq "stop")?"CLOSED":ReadingsVal($name,"current","xx")}
Es wird das userReadings Klappe erzeugt und bei current: opens/closes mit opens/closes befüllt, bei current: stop aber abhängig ob es auf opens oder closes war mit OPEN oder CLOSED. Damit hast Du im Reading Klappe alle 4 Zustände.
Probier das mal.
Viel Erfolg!
Sany
Edit: userReadings Abfragen korrigiert, da EventMap im Device gesetzt ist
Vom Prinzip her, genau das was ich brauche.
Aber das userreading mach so immer genau das was im reading current steht, also open - stop - close -stop
ich habe bei mir dieses am laufen (Rollo entspricht Klappe):
Rollo:current.* {(ReadingsVal($name,"Rollo","--") eq "open" and ReadingsVal($name,"current","++") eq "stop")?"OPEN":(ReadingsVal($name,"Rollo","--") eq "close" and ReadingsVal($name,"current","++") eq "stop")?"CLOSED":ReadingsVal($name,"current","xx")}
eventMap open:opens close:closes
ein Shelly 2.5 mit dem template shelly25_roller_invert_1
Also eigentlich wie bei Dir, oder?
Es sieht so aus, dass die Abfragen bei "stop" nicht greifen, weil wohl das Reading Klappe bei dir was anderes enthält als in der Bedingung auf open oder close abgefragt wird. Das musst Du mal genau beobachten und anpassen. Die EventMap spielt da irgendwie eine Rolle, kann aber gerade nicht sagen, was der shelly als Wert liefert und was eventmap daraus macht.
Sonst poste noch mal ein list von Deinem Shelly mit dem userReadings.
Gruß
Sany
Ich habe jetzt mal ein paar Varianten probiert. Auch mal eventmap gelöscht, dafür dann closes und opens benutzt. Bin noch nicht zur Lösung gekommen.
Hier mal ein list meines Shelly´s.
Internals:
CID shellyswitch25_98F4ABF3686D
DEF shellyswitch25_98F4ABF3686D
FUUID 62246674-f33f-487e-b8db-38c9e4b0087ee4c8
IODev MQTT2_FHEM_Server
LASTInputDev mqtt_io
MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_172.27.0.1_53642
MQTT2_FHEM_Server_MSGCNT 37275
MQTT2_FHEM_Server_TIME 2023-03-02 20:07:49
MSGCNT 66563
NAME Huehnerklappe
NR 80
STATE <a href="http://192.168.178.205" target="_blank">
true
</a>
101/stop
TYPE MQTT2_DEVICE
eventCount 66555
mqtt_io_MSGCNT 29288
mqtt_io_TIME 2023-03-02 20:07:49
READINGS:
2023-03-01 21:59:14 IODev MQTT2_FHEM_Server
2023-03-02 20:07:49 Klappe stop
2023-03-01 21:59:30 actions_stats_skipped 0
2023-03-01 21:59:30 cfg_changed_cnt 8
2023-03-01 21:59:30 cloud_connected false
2023-03-01 21:59:30 cloud_enabled false
2023-03-02 20:07:49 current stop
2023-03-02 20:07:49 energy 18260
2023-03-01 21:59:30 fs_free 145329
2023-03-01 21:59:30 fs_size 233681
2023-03-01 21:59:30 fw_ver 20221027-092056/v1.12.1-ga9117d3
2023-03-01 21:59:30 has_update false
2023-03-01 21:59:30 id shellyswitch25-98F4ABF3686D
2023-03-02 20:07:49 input0 0
2023-03-02 20:07:49 input1 0
2023-03-01 21:59:30 inputs_1_event
2023-03-01 21:59:30 inputs_1_event_cnt 0
2023-03-01 21:59:30 inputs_1_input 0
2023-03-01 21:59:30 inputs_2_event
2023-03-01 21:59:30 inputs_2_event_cnt 0
2023-03-01 21:59:30 inputs_2_input 0
2023-03-01 21:59:30 ip 192.168.178.205
2023-03-01 21:59:30 mac 98F4ABF3686D
2023-03-01 21:59:30 meters_1_counters_1 0.000
2023-03-01 21:59:30 meters_1_counters_2 0.000
2023-03-01 21:59:30 meters_1_counters_3 0.000
2023-03-01 21:59:30 meters_1_is_valid true
2023-03-01 21:59:30 meters_1_overpower 0.00
2023-03-01 21:59:30 meters_1_power 0.00
2023-03-01 21:59:30 meters_1_timestamp 1677707972
2023-03-01 21:59:30 meters_1_total 8625
2023-03-01 21:59:30 meters_2_counters_1 0.000
2023-03-01 21:59:30 meters_2_counters_2 0.000
2023-03-01 21:59:30 meters_2_counters_3 0.000
2023-03-01 21:59:30 meters_2_is_valid true
2023-03-01 21:59:30 meters_2_overpower 0.00
2023-03-01 21:59:30 meters_2_power 0.00
2023-03-01 21:59:30 meters_2_timestamp 1677707972
2023-03-01 21:59:30 meters_2_total 9238
2023-03-01 21:59:30 mode roller
2023-03-01 21:59:30 model SHSW-25
2023-03-01 21:59:30 mqtt_connected true
2023-03-01 21:59:30 new_fw false
2023-03-01 21:59:30 online true
2023-03-02 20:07:49 overtemperature 0
2023-03-02 20:07:49 pct 101
2023-03-02 20:07:49 power 0.00
2023-03-01 21:59:30 ram_free 36896
2023-03-01 21:59:30 ram_total 50728
2023-03-02 20:07:49 roller_0_energy 18260
2023-03-02 20:07:49 roller_0_power 0.00
2023-03-02 20:07:49 roller_0_stop_reason normal
2023-03-01 21:59:30 rollers_1_calibrating false
2023-03-01 21:59:30 rollers_1_current_pos 106
2023-03-01 21:59:30 rollers_1_is_valid true
2023-03-01 21:59:30 rollers_1_last_direction close
2023-03-01 21:59:30 rollers_1_overtemperature false
2023-03-01 21:59:30 rollers_1_positioning false
2023-03-01 21:59:30 rollers_1_power 0.00
2023-03-01 21:59:30 rollers_1_safety_switch false
2023-03-01 21:59:30 rollers_1_source mqtt
2023-03-01 21:59:30 rollers_1_state stop
2023-03-01 21:59:30 rollers_1_stop_reason normal
2023-03-01 21:59:30 serial 1741
2023-03-02 20:07:49 state 101
2023-03-02 20:07:49 temperature 21.43
2023-03-02 20:07:49 temperature_f 70.57
2023-03-02 20:07:49 temperature_status Normal
2023-03-01 21:59:30 time 21:59
2023-03-01 21:59:30 tmp_is_valid true
2023-03-01 21:59:30 tmp_tC 22.27
2023-03-01 21:59:30 tmp_tF 72.08
2023-03-01 21:59:30 unixtime 1677704372
2023-03-01 21:59:30 update_has_update false
2023-03-01 21:59:30 update_new_version 20221027-092056/v1.12.1-ga9117d3
2023-03-01 21:59:30 update_old_version 20221027-092056/v1.12.1-ga9117d3
2023-03-01 21:59:30 update_status idle
2023-03-01 21:59:30 uptime 4026319
2023-03-02 20:07:49 voltage 237.72
2023-03-01 21:59:30 wifi_sta_connected true
2023-03-01 21:59:30 wifi_sta_ip 192.168.178.205
2023-03-01 21:59:30 wifi_sta_rssi -73
2023-03-01 21:59:30 wifi_sta_ssid MiSAMI-WLAN
hmccu:
Attributes:
alias Huehnerklappe
cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
comment Shelly 2.5 in Roller-Mode. 0=opened / 100=closed
devStateIcon .*/open:fts_shutter_up@red .*/close:fts_shutter_down@red true:10px-kreis-gruen false:10px-kreis-rot 0/stop:fts_shutter_100 100/stop:fts_shutter_10 9\d/stop:fts_shutter_10 8\d/stop:fts_shutter_20 7\d/stop:fts_shutter_30 6\d/stop:fts_shutter_40 5\d/stop:fts_shutter_50 4\d/stop:fts_shutter_60 3\d/stop:fts_shutter_70 2\d/stop:fts_shutter_80 1\d/stop:fts_shutter_90 0\d/stop:fts_shutter_100 set_.*:fts_shutter_updown
eventMap open:opens close:closes
genericDeviceType blind
icon fts_shutter_30
model shelly25_roller_invert_1
readingList shellies/shellyswitch25-98F4ABF3686D/roller/0/pos:.* {'pct' => 100-$EVENT}
shellies/shellyswitch25-98F4ABF3686D/status/0/rollers:.* power
shellies/shellyswitch25-98F4ABF3686D/online:.* online
shellies/shellyswitch25-98F4ABF3686D/announce:.* { json2nameValue($EVENT) }
shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-98F4ABF3686D...mac.*, ? json2nameValue($EVENT) : return }
shellies/shellyswitch25-98F4ABF3686D/roller/0:.* current
shellies/shellyswitch25-98F4ABF3686D/roller/0:open {{'state' => 'opening'}}
shellies/shellyswitch25-98F4ABF3686D/roller/0:close {{'state' => 'closing'}}
shellies/shellyswitch25-98F4ABF3686D/roller/0/pos:.* {'state' => 100-$EVENT}
shellies/shellyswitch25-98F4ABF3686D/input/1:.* input1
shellies/shellyswitch25-98F4ABF3686D/input/0:.* input0
shellies/shellyswitch25-98F4ABF3686D/relay/power:.* power
shellies/shellyswitch25-98F4ABF3686D/relay/energy:.* energy
shellies/shellyswitch25-98F4ABF3686D/temperature:.* temperature
shellies/shellyswitch25-98F4ABF3686D/overtemperature:.* overtemperature
shellies/shellyswitch25-98F4ABF3686D/roller/0/power:.* roller_0_power
shellies/shellyswitch25-98F4ABF3686D/roller/0/energy:.* roller_0_energy
shellies/shellyswitch25-98F4ABF3686D/temperature_f:.* temperature_f
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/info:.* { json2nameValue($EVENT) }
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/roller/0/stop_reason:.* roller_0_stop_reason
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/temperature_status:.* temperature_status
shellyswitch25_98F4ABF3686D:shellies/shellyswitch25-98F4ABF3686D/voltage:.* voltage
room 21_Garten
setList open:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command open
close:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command close
half:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command/pos 50
stop:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command stop
pct:slider,0,1,100 {"shellies/shellyswitch25-98F4ABF3686D/roller/0/command/pos ".(100-$EVTPART1)}
x_recalibration:noArg shellies/shellyswitch25-98F4ABF3686D/roller/0/command rc
x_update:noArg shellies/shellyswitch25-98F4ABF3686D/command update_fw
x_mqttcom shellies/shellyswitch25-98F4ABF3686D/command $EVTPART1
setStateList open close half stop pct
stateFormat <a href="http://ip" target="_blank">
online
</a>
state/current
userReadings Klappe:current.* {(ReadingsVal($name,"Klappe","--") eq "open" and ReadingsVal($name,"current","++") eq "stop")?"OPEN":(ReadingsVal($name,"Klappe","--") eq "close" and ReadingsVal($name,"current","++") eq "stop")?"CLOSED":ReadingsVal($name,"current","xx")}
webCmd :open:close:half:stop:pct
Das Problem ist: der Shelly sendet current stop mehrfach hintereinander. Wenn du ein event-on-change-reading auf current und Klappe und alle weiteren von dir als Trigger benötigten readings setzt sollte es gehen.
Bestimmt kann man im userReadings auch den dritten Teil so schreiben, dass stop nicht durchkommt, kann ich aber grad nicht testen....
ja man kann:
Klappe:current.* {(ReadingsVal($name,"Klappe","--") eq "opens" and ReadingsVal($name,"current","++") eq "stop")?"OPEN":(ReadingsVal($name,"Klappe","--") eq "closes" and ReadingsVal($name,"current","++") eq "stop")?"CLOSED":(ReadingsVal($name,"current","xx") =~ "(opens|closes)")? ReadingsVal($name,"current","xx"):undef}
so funktioniert es in meiner Testumgebung, auch wenn mehrfach "stop" kommt.
@michisa86888
"Klappts" denn jetzt? ;)