Hallo,
habe folgendes Problem :
Ich betreibe meine Rollos mit Motor.
Situation1, die Rollo sind z.B. Zu 80% unten , nun wird aufgrund einer weiteren Aktion das Rollo zu 100% geschlossen. Vorher speichere ich den letzten status(80%) in einem dummy .
EG_Rollo_dummy
Nun ist die weitere Aktion abgeschlossen, und jetzt möchte ich wieder zum ursprünglichen Status (80%) zurück.
Wie kann ich den state Status vom EG_Rollo_dummy auslesen und damit per set Befehl die Position bei EG_Rollo setzen
Mit freundlichen Grüßen
Wendelin
Zitat von: wendeling am 30 August 2018, 22:07:53
...Wie kann ich den state Status vom EG_Rollo_dummy auslesen und damit per set Befehl die Position bei EG_Rollo setzen...
So in der Richtung; ungetestet...
fhem("set EG_Rollo ".ReadingsVal('EG_Rollo_dummy','state','100');
[OT]
@wendeling: Warum nutzt du dafür eigentlich einen Dummy und nicht ein eigenes Reading direkt am EG_Rollo-Device?
Also mit "set EG_Rollo meineLetztePosition <Wert>".Das kannst du genauso lesen (und ohne rotes ? löschen) wie den Dummy (und wie von Hollo vorgeschlagen). (ggf. alternativ mit ReadingsNum()).
Hat den Vorteil, dass es sich leichter generalisieren läßt (z.B. ein notify für alle "Tür wurde geschlossen"-Ereignisse).
[/OT]
Zitat von: Hollo am 31 August 2018, 12:37:23
So in der Richtung; ungetestet...
fhem("set EG_Rollo ".ReadingsVal('EG_Rollo_dummy','state','100');
Oder mittels SetMagic
set EG_Rollo [EG_Rollo_dummy:state]
Hallo,
super, habe die letzte Möglichkeit mal ausprobiert, funktioniert, aber ...
muss noch folgendes Problem lösen :
Habe im state folgendes stehen "pct-30"
ich benötige es aber in der Form :
"pct 30"
damit ich den Positionsbefehl ausführen kann!
set EG_Rollo_Wohnzimmer_g_Fenster [EG_Rollo_Wohnzimmer_g_Fenster_dy:state]
"pct-30" funktioniert nicht !
wie kann ich das machen ?
Gruß
Wendelin
Zitat von: wendeling am 31 August 2018, 17:46:02
Hallo,
super, habe die letzte Möglichkeit mal ausprobiert, funktioniert, aber ...
muss noch folgendes Problem lösen :
Habe im state folgendes stehen "pct-30"
ich benötige es aber in der Form :
"pct 30"
damit ich den Positionsbefehl ausführen kann!
set EG_Rollo_Wohnzimmer_g_Fenster [EG_Rollo_Wohnzimmer_g_Fenster_dy:state]
"pct-30" funktioniert nicht !
wie kann ich das machen ?
Gruß
Wendelin
Dann geht nur Perl. Also die Lösung mit ReadingsVal.
fhem('set EG_Rollo ' . (split('-', ReadingsVal('EG_Rollo_dummy','state','100')))[0] . ' ' . [1]);
Ungetestet
Was spräche dagegen, ReadingsNum() zu verwenden und nicht state auf den Dummy (oder das neue Reading) zu schreiben, sondern den bisherigen pct-Wert?
Ein list vom Device hätte geholfen...
Zitat von: Beta-User am 31 August 2018, 18:10:27
Was spräche dagegen, ReadingsNum() zu verwenden und nicht state auf den Dummy (oder das neue Reading) zu schreiben, sondern den bisherigen pct-Wert?
Ein list vom Device hätte geholfen...
Macht definitiv Sinn. Zu mindest das split hätte ich mir eigentlich sparen können.
fhem('set EG_Rollo pct ' . ReadingsNum('EG_Rollo_dummy','state','100') );
Wozu eigentlich diese Dummy Geschichte?
Code angepasst
Hallo,
hier ein list von device
Internals:
NAME EG_Rollo_Wohnzimmer_g_Fenster
NR 727
STATE pct-30
TYPE ROLLO
READINGS:
2018-08-31 17:32:29 command stop
2018-08-31 17:32:22 desired_pct none
2018-07-26 21:24:52 desired_position 100
2018-08-31 17:32:22 drive-type modul
2018-08-31 17:32:22 last_drive drive-up
2018-08-31 17:32:29 pct 31.25
2018-07-26 21:25:00 position 100
2018-08-31 17:32:33 state pct-30
Attributes:
autoStop 0
commandDown set HMW_IO_12_Sw7_DR_NEQ1810319_15 on
commandStopDown set HMW_IO_12_Sw7_DR_NEQ1810319_15 off
commandStopUp set HMW_IO_12_Sw7_DR_NEQ1810319_16 off
commandUp set HMW_IO_12_Sw7_DR_NEQ1810319_16 on
devStateIcon open:fts_shutter_10:closed closed:fts_shutter_100@red:open half:fts_shutter_50@blue:closed drive-up:fts_shutter_up@green:stop drive-down:fts_shutter_down@green:stop pct-100:fts_shutter_100:open pct-90:fts_shutter_80@blue:closed pct-80:fts_shutter_80@blue:closed pct-70:fts_shutter_70@blue:closed pct-60:fts_shutter_60@blue:closed pct-50:fts_shutter_50@blue:closed pct-40:fts_shutter_40@blue:open pct-30:fts_shutter_30@blue:open pct-20:fts_shutter_20@blue:open pct-10:fts_shutter_10@blue:open pct-0:fts_shutter_10@blue:closed
excessBottom 5
excessTop 0
group ROLLO_STEUERUNG
icon fts_shutter_updown
resetTime 3
room EG_Wohnz.,Z_ROLLO
secondsDown 15
secondsUp 16
switchTime 1
type normal
webCmd open:closed:half:stop:pct
ich möchte also die aktuelle Position pct-30 speichern , und später wieder nach Veränderung der Position wieder dahin zurück zu fahren.
Egal ob mit dummy oder einer anderen Möglichkeit (es muss nur mit einem set Befehl funktionieren)
Gruß
Wendelin
Dann mach doch das was Leon zeigte, hat sich nur verschrieben, er meinte:
fhem('set EG_Rollo pct ' . ReadingsNum('EG_Rollo_dummy','state','100') );
https://wiki.fhem.de/wiki/DevelopmentModuleAPI#ReadingsNum (https://wiki.fhem.de/wiki/DevelopmentModuleAPI#ReadingsNum)
Hallo,
wahrscheinlich bin ich zu doof,
aber wie bekomme ich diese Befehlszeile zum Laufen ?
ruß
Wendelin
In Deinem Notify eintragen. Detailansicht des Notify in FHEMWEB auswählen und da auf DEF drücken
define notifytest notify REGEX { fhem('set EG_Rollo pct ' . ReadingsNum('EG_Rollo_dummy','state','100') ); }
Bitte REGEX durch Deine Regex ersetzen
Hallo,
habe leider was vergessen zu schreiben, wenn ich einen Wert von 34.555 habe dann muss immer auf glatte 10er Zahlen gerundet werden, also 30.
Oder 57.6253 = 60
Gruß
Wendelin
Zitat von: wendeling am 31 August 2018, 19:27:06
Hallo,
habe leider was vergessen zu schreiben, wenn ich einen Wert von 34.555 habe dann muss immer auf glatte 10er Zahlen gerundet werden, also 30.
Oder 57.6253 = 60
Gruß
Wendelin
Nicht übel nehmen , aber dazu gibt es gefühlt 1000 Beiträge .
Suchmaschine - fhem zahl runden - ggf noch notify .
Gruss Byte09
Gesendet von meinem SM-G900F mit Tapatalk
Zitat von: wendeling am 31 August 2018, 19:27:06
Hallo,
habe leider was vergessen zu schreiben, wenn ich einen Wert von 34.555 habe dann muss immer auf glatte 10er Zahlen gerundet werden, also 30.
Oder 57.6253 = 60
Gruß
Wendelin
Artet ein bisschen aus. Zeig mal bitte wie Dein Notify aus schaut. List notify