Ventilsteuerung (Bewässerung) mit vier Kreisen und HM-LC-SW4-SM-2

Begonnen von remo, 04 Dezember 2020, 14:42:58

Vorheriges Thema - Nächstes Thema

remo

Du stresst mich doch nicht!
Ich hoffe ich mache nicht den Eindruck!
Ich bin dir sehr dankbar! Wirklich!

Mache ich gerne, aber das schaffe ich leider erst morgen.
Meine Kinder wissen schon nicht mehr wie ich aussehe :D
Man beißt sich gerne zu sehr an solchen Problemen fest, aber jetzt muss ich erstmal meinen väterlichen Pflichten nachkommen ;)

remo

Guten Morgen ;)

Zitatmachst Du mal bitte sicherheitshalber ein list n_ventile ?

Internals:
   CFGFN      ./FHEM/006_bewaesserung.cfg
   DEF        ventil.*:on|ventil.*:off set ventil.*:FILTER=NAME!=$NAME off; set Terrasse $EVENT
   FUUID      5fd1c5e2-f33f-1ce0-9519-c872e497dafd4205
   NAME       n_ventile
   NOTIFYDEV  ventil.*
   NR         873
   NTFY_ORDER 50-n_ventile
   REGEXP     ventil.*:on|ventil.*:off
   STATE      active
   TYPE       notify
   READINGS:
     2020-12-10 07:53:22   state           active
Attributes:
   disabledAfterTrigger 1



Und schneidest mal ein on und ein off im Evntmonitor mit? ventil.*

2020-12-10 07:54:14 CUL_HM ventilVorne set_on noArg
2020-12-10 07:54:14 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:14 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:14 CUL_HM ventilSeite set_off noArg
2020-12-10 07:54:14 CUL_HM ventilVorne deviceMsg: ein (to 5B154A)
2020-12-10 07:54:14 CUL_HM ventilVorne level: 100
2020-12-10 07:54:14 CUL_HM ventilVorne pct: 100
2020-12-10 07:54:14 CUL_HM ventilVorne ein
2020-12-10 07:54:14 CUL_HM ventilHinten1 aus
2020-12-10 07:54:15 CUL_HM ventilHinten2 aus
2020-12-10 07:54:15 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:15 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:15 CUL_HM ventilVorne set_off noArg
2020-12-10 07:54:15 CUL_HM ventilSeite aus
2020-12-10 07:54:15 CUL_HM ventilHinten1 aus
2020-12-10 07:54:16 CUL_HM ventilHinten2 aus
2020-12-10 07:54:16 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:16 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:16 CUL_HM ventilSeite set_off noArg
2020-12-10 07:54:16 CUL_HM ventilVorne deviceMsg: aus (to 5B154A)
2020-12-10 07:54:16 CUL_HM ventilVorne level: 0
2020-12-10 07:54:16 CUL_HM ventilVorne pct: 0
2020-12-10 07:54:16 CUL_HM ventilVorne aus
2020-12-10 07:54:17 CUL_HM ventilHinten1 aus
2020-12-10 07:54:17 CUL_HM ventilHinten2 aus
2020-12-10 07:54:17 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:17 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:17 CUL_HM ventilVorne set_off noArg
2020-12-10 07:54:17 CUL_HM ventilSeite aus
2020-12-10 07:54:18 CUL_HM ventilHinten1 aus
2020-12-10 07:54:18 CUL_HM ventilHinten2 aus
2020-12-10 07:54:18 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:18 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:18 CUL_HM ventilSeite set_off noArg
2020-12-10 07:54:18 CUL_HM ventilVorne aus
2020-12-10 07:54:19 CUL_HM ventilHinten1 aus
2020-12-10 07:54:19 CUL_HM ventilHinten2 aus
2020-12-10 07:54:19 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:19 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:19 CUL_HM ventilVorne set_off noArg
2020-12-10 07:54:19 CUL_HM ventilSeite aus
2020-12-10 07:54:20 CUL_HM ventilHinten1 aus
2020-12-10 07:54:20 CUL_HM ventilHinten2 aus
2020-12-10 07:54:21 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:21 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:21 CUL_HM ventilSeite set_off noArg
2020-12-10 07:54:21 CUL_HM ventilVorne aus
2020-12-10 07:54:21 CUL_HM ventilHinten1 aus
2020-12-10 07:54:21 CUL_HM ventilHinten2 aus
2020-12-10 07:54:22 CUL_HM ventilHinten1 set_off noArg
2020-12-10 07:54:22 CUL_HM ventilHinten2 set_off noArg
2020-12-10 07:54:22 CUL_HM ventilVorne set_off noArg


und so geht's endlos weiter ...

remo

Ich bin noch mal in mich gegangen und habe über das gesamte Konstrukt nachgedacht,
bzw. ein paar reale Szenarien "simuliert":

Ich brauche es gar nicht so kompliziert.
Eine Verknüpfung von Ventil und Pumpe in allen erdenklichen Situationen ist gar nicht unbedingt notwendig.

Ich teste mal weiter und melde mich wieder ...

Schöne Mittagspause :)

Otto123

das ist zu knapp:
disabledAfterTrigger 1

Sieht man doch ganz gut: Das letzte Ventil meldet erst nach einer Sekunde
Zitat2020-12-10 07:54:14 CUL_HM ventilHinten1 aus
2020-12-10 07:54:15 CUL_HM ventilHinten2 aus
2020-12-10 07:54:15 CUL_HM ventilHinten1 set_off noArg

Danach wird es eine Schleife. Also mindestens
disabledAfterTrigger 2 besser 3 oder 4!
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

frank

eventuell kann man auch die antwortzeiten beim aktor reduzieren.
register: statusInfoMinDly und statusInfoRandom
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

remo

So Freunde,
ich habe jetzt alles was ich brauche!

Super.

Nochmals: vielen herzlichen Dank an die Helfer, vorallem an Otto  :-*

Otto123

Wenn Du jetzt lieb zum Forum sein willst:
Schreibst Du es nochmal zusammenfassend auf
Editierst Deine ersten Beitrag im Betreff und schreibst gelöst hin. 8)
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

TomLee

#97
In meinem Adventskalender waren heute 3 sprinkler-Icons (png,je 3,5kB), eventuell passen die ja bei manchen ins Farbschema für die hier gefundene Lösung

remo

TomLee :)

Wo gibt es solche Adventskalender? ^^

Ich danke aufrichtig und wünsche euch allen eine schöne Weihnachtszeit!

@Otto:
Wenn ich das nächste Mal in Leipzig bin, trinken wir ein Bierchen (oder Kaffe, oder Tee) ;)

TomLee

remo oder auch Otto,

wollt ihr mal das hier angehangene sprinkler-SVG-Icon testen ?

Bin der Meinung damit klappt das jetzt.

define Aktor1 dummy
attr Aktor1 devStateIcon ein:sprinkler_icon@5ECD3C aus:sprinkler_icon@808080 .*:sprinkler_icon@F19A38
attr Aktor1 eventMap on:ein off:aus
attr Aktor1 webCmd ein:aus
attr Aktor1 room Test
attr Aktor1 group Test
define Aktor2 dummy
attr Aktor2 devStateIcon ein:sprinkler_icon@5ECD3C aus:sprinkler_icon@808080 .*:sprinkler_icon@F19A38
attr Aktor2 eventMap on:ein off:aus
attr Aktor2 webCmd ein:aus
attr Aktor2 room Test
attr Aktor2 group Test
define Aktor3 dummy
attr Aktor3 devStateIcon ein:sprinkler_icon@5ECD3C aus:sprinkler_icon@808080 .*:sprinkler_icon@F19A38
attr Aktor3 eventMap on:ein off:aus
attr Aktor3 webCmd ein:aus
attr Aktor3 room Test
attr Aktor3 group Test
define Aktor4 dummy
attr Aktor4 devStateIcon ein:sprinkler_icon@5ECD3C aus:sprinkler_icon@808080 .*:sprinkler_icon@F19A38
attr Aktor4 eventMap on:ein off:aus
attr Aktor4 webCmd ein:aus
attr Aktor4 room Test
attr Aktor4 group Test
define n_Aktory notify Aktor.:on set Aktor.:FILTER=NAME!=$NAME {(("$EVENT" eq 'on')?'off':'on')}
attr n_Aktory disabledAfterTrigger 1
attr n_Aktory room Test
attr n_Aktory group Test

TomLee

Zitatremo oder auch Otto,

wollt ihr mal das hier angehangene sprinkler-SVG-Icon testen ?

Oder einer der anderen 5 die das Icon bereits runtergeladen und das getestet haben Rückmeldung geben ?

remo

Hallo zusammen und schöne Ostern,
@TomLee:
ja, sieht gut aus.
Setze ich bereits ein.
Vielen Dank.

Ich habe mich jetzt eine Weile nicht gemeldet.
Inzwischen habe ich einen guten Stand was meine Bewässerung angeht.
Jetzt würde ich gerne noch FHEM diesbezüglich fit machen.

Meine Idee ist, einen Bewässerungsplan in FHEM abzubilden.
Dazu habe ich mal eine Skizze angehängt.

Bevor ich mich in einem Ansatz verrenne, möchte ich euch freundlich bitten, mir mitzuteilen, ob das so überhaupt funktionieren kann?!
Meine Zeit ist sehr knapp bemessen. Im Moment bin ich zeitlich sehr stark eingespannt.

Guckt euch meine Skizze einfach mal an wenn ihr Lust und Zeit habt.
Die auf der Skizze abgebildete Logik ist zu vernachlässigen - es geht rein um die Darstellung.
Vielleicht habt ihr ja einen Anreiz für mich?!

Ganz liebe Grüße.
Remo

Edit:
Dass das vielleicht nur mit massenhaft Dummys und if-Anweisungen verbunden sein wird ist mir bewusst. Das bekomme ich aber, denke ich hin. Meine Rollladensteuerung ist ebenfalls sehr komplex und ein guter Anfang. Darauf kann ich aufbauen.
Ich würde nur gerne diese Ansicht umsetzten. Mit uA Eingabefeldern (Uhrzeit (at) + Laufzeit (on-for-timer)).

Ich würde vielleicht für jede mögliche Eingabe (Startzeit, Laufzeit, Wochentag) einen Dummy definieren und über das Web dann gezielt die Dummys setzen. Und im at würde ich dann eine komplexe if-Abfrage definieren.   

remo

Hallo und einen guten Start in eine verkürzte Woche wünsche ich euch.

Ich hatte etwas Zeit, um mich weiter um meine Bewässeungssteuerung zu kümmern.
Ich habe damit angefangen, die Skizze aus meinem letzten Post umzusetzen.

Jetzt beiße ich mir aber leider seit ein paar Stunden die Zähne aus.

Exemplarisch:

defmod du11 dummy

attr du11 readingList aktiv1 mon1 tue1
attr du11 setList aktiv1:on,off mon1:on,off tue1:on,off

attr du11 webCmd aktiv1:mon1:tue1
attr du11 webCmdLabel aktiviert:Mo:Di

# problem
#attr du11 devStateIcon on:ios_on_fill off:ios_off_fill

attr du11 room TEST2


Erzeugt folgende Ansicht: siehe Anhang

Ich hätte aber gerne, so wie man das auch sonst bei einem Dummy realisieren kann,
eine Art Button, statt eines Dropdown-Feldes.

Ist es möglich mittels WebCmd das Dropdown durch einen "Button" (oder weiteren Dummy) zu ersetzen, sodass ich eine Art Checkbox simulieren kann?
Im Forum und auf anderen Seiten konnte ich leider nichts finden.

Also in etwa so:
attr du11 cmdIcon aktiv1.on:ios_on_fill aktiv1.off:ios_off_fill

Vielleicht könnt ihr mir helfen?!

Liebe Grüße

fiedel

Mal als "Designstudie" meine Readingsgroup für die Bewässerung:
Die Anlagenphilosophie ist allerdings etwas anders. Gestartet wird (noch) nicht per Zeitsteuerung, sondern per Fernbedienung oder per Button im Rezept.
Dann laufen die Kreise mit den voreingestellten Zeiten durch. Hier der Code der RG:

Internals:
   DEF        <%sani_sprinkling>,<Pumpe>,<Kreis Hinten>,<Kreis Mitte>,<Kreis Vorn>,<Dosenring>,<Fehler- Verz.>,<Starte Rezept> Rez.:Pumpe,Hinten,Mitte,Vorn,Dosen,Fehler,Start
   FUUID      5cc16da9-f33f-fd76-20c7-d3970c5c7b0e4793
   NAME       Bewaesserung
   NR         2104
   NTFY_ORDER 50-Bewaesserung
   STATE      Initialized
   TYPE       readingsGroup
   changed    0
   mayBeVisible 1
   CONTENT:
     Rez1       1
     Rez2       1
     Rez3       1
     Rez4       1
     Rez5       1
     Rez6       1
   CONTENT2:
   DEVICES:
     ARRAY(0x407e990)
     ARRAY(0x3986480)
     ARRAY(0x4086d20)
     ARRAY(0x3d22cb8)
     ARRAY(0x4021840)
     ARRAY(0x3a45550)
     ARRAY(0x3afac40)
   fhem:
     lastDefChange 890
     last_update 1617779543.16239
   helper:
     DEF       
     commands   {Pumpe => "Pumpe:",Hinten => "Hinten:",Mitte => "Mitte:",Vorn => "Vorn:",Dosen => "Dosen:",Fehler => "Fehler:",'Start.1'  => 'setreading $DEVICE Start 0', 'Start.0'  => 'setreading $DEVICE Start 1'}
     nameStyle  style="color:yellow;;font-weight:bold"
     valueStyle style="text-align:center"
     positions:
       Rez1.Dosen 2:5
       Rez1.Fehler 2:6
       Rez1.Hinten 2:2
       Rez1.Mitte 2:3
       Rez1.Pumpe 2:1
       Rez1.Start 2:7
       Rez1.Vorn  2:4
       Rez2.Dosen 3:5
       Rez2.Fehler 3:6
       Rez2.Hinten 3:2
       Rez2.Mitte 3:3
       Rez2.Pumpe 3:1
       Rez2.Start 3:7
       Rez2.Vorn  3:4
       Rez3.Dosen 4:5
       Rez3.Fehler 4:6
       Rez3.Hinten 4:2
       Rez3.Mitte 4:3
       Rez3.Pumpe 4:1
       Rez3.Start 4:7
       Rez3.Vorn  4:4
       Rez4.Dosen 5:5
       Rez4.Fehler 5:6
       Rez4.Hinten 5:2
       Rez4.Mitte 5:3
       Rez4.Pumpe 5:1
       Rez4.Start 5:7
       Rez4.Vorn  5:4
       Rez5.Dosen 6:5
       Rez5.Fehler 6:6
       Rez5.Hinten 6:2
       Rez5.Mitte 6:3
       Rez5.Pumpe 6:1
       Rez5.Start 6:7
       Rez5.Vorn  6:4
       Rez6.Dosen 7:5
       Rez6.Fehler 7:6
       Rez6.Hinten 7:2
       Rez6.Mitte 7:3
       Rez6.Pumpe 7:1
       Rez6.Start 7:7
       Rez6.Vorn  7:4
     valueIcon:
       Start.0    sani_sprinkling.svg@wite
       Start.1    sani_sprinkling.svg@lime
       state      %devStateIcon
     values:
       formated:
         undef
         ARRAY(0x3ae6168)
         ARRAY(0x409ed60)
         ARRAY(0x3af7640)
         ARRAY(0x4033ec8)
         ARRAY(0x3702360)
         ARRAY(0x36fc138)
         ARRAY(0x3904588)
       orig:
         undef
         ARRAY(0x3a2d0b0)
         ARRAY(0x4f9bb0)
         ARRAY(0x38f14a0)
         ARRAY(0x26e77e8)
         ARRAY(0x36d9318)
         ARRAY(0x39b94b0)
         ARRAY(0x3a0fca8)
       prefixsuffix:
         undef
         ARRAY(0x40c7780)
         ARRAY(0x3a12eb8)
         ARRAY(0x39b47b8)
         ARRAY(0x36c6c98)
         ARRAY(0x37165c8)
         ARRAY(0x3a2d338)
         ARRAY(0x370a120)
Attributes:
   alias      Beregnungsanlage Rezeptparameter: Zeit in Minuten
   commands   {Pumpe => "Pumpe:",Hinten => "Hinten:",Mitte => "Mitte:",Vorn => "Vorn:",Dosen => "Dosen:",Fehler => "Fehler:",'Start.1'  => 'setreading $DEVICE Start 0', 'Start.0'  => 'setreading $DEVICE Start 1'}
   comment    https://forum.fhem.de/index.php?topic=54029.0
   group      Beregnung
   nameStyle  style="color:yellow;;font-weight:bold"
   nolinks    0
   nostate    0
   notime     0
   room       4_Garten
   valueIcon  { state => '%devStateIcon','Start.1'  => 'sani_sprinkling.svg@lime','Start.0' => 'sani_sprinkling.svg@wite',}
   valueStyle style="text-align:center"
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

remo

Hallo fiedel,

dankeschön für den Anreiz.

Ich habe inzwischen auch einen recht guten Stand - ohne RG.
Ich werde mein Ergebnis dann auch hier posten.

Liebe Grüße