UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

Bewässerungssteuerung als Custom-Logik

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln

DeLaDope
Reactions:
Beiträge: 245
Registriert: Mo Sep 03, 2018 2:26 pm
Hat sich bedankt: 122 Mal
Danksagung erhalten: 97 Mal

#21

Beitrag von DeLaDope »

Sehr geil...genau das was ich gesucht habe! Danke!
TWS 2500 ID:134 + 2 x PBM ID:833/789, VPN offen, Reboot nach Rücksprache

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#22

Beitrag von Robert_Mini »

danik hat geschrieben: So Jul 07, 2019 9:29 pm Fehlt nur noch die von Dir erwähnte Möglichkeit der "Restzeit".
Hab übrigens herausgefunden, dass der Baustein "Stoppuhr" genau das schon kann:
["Stopwatch","$In", "$Time"]

Damit kann man in Verbindung mit einem Trigger periodisch die Zeit seit dem Start-Telegramm schicken.
Das ließe sich je Kreis und für Sequenz-Status relativ leicht ergänzen.
Auch die Restzeit könnte man damit berechnen (Dauer_Kreis1 x Faktor) - Stoppuhr

Wobei ich damit noch ein wenig kämpfe => viewtopic.php?f=31&t=1172

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#23

Beitrag von Robert_Mini »

Hallo zusammen!

Dank der tollen Vorarbeit von @danik habe ich den Bewässerungs-Baustein gleich inkl. Beschreibung in die KB aufgenommen: app.php/kb/viewarticle?a=98

In diesem Stil würde ich bis auf weiteres allgemein hilfreiche Custom-Logiken aufnehmen und dokumentieren - nur her mit euren Arbeiten :clap: :confusion-waiting: :confusion-helpsos:

lg
Robert
Zuletzt geändert von Robert_Mini am Fr Jul 12, 2019 8:11 pm, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

StefanW
Elaborated Networks
Reactions:
Beiträge: 9689
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 4831 Mal
Danksagung erhalten: 7633 Mal
Kontaktdaten:

#24

Beitrag von StefanW »

Danke an Danik und Robert für Eure tolle Arbeit!

Freut mich, dass sich die Sache so gut entwickelt.

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.

pholler
Reactions:
Beiträge: 58
Registriert: Di Mär 12, 2019 5:59 pm
Hat sich bedankt: 15 Mal
Danksagung erhalten: 12 Mal

#25

Beitrag von pholler »

Hallo zusammen!

Auf der Suche nach einer Logik für meine Bewässerungssteuerung bin ich über diesen Artikel gestoßen. Geniale Arbeit! Ich habe den Code von danik übernommen und für meine Bedürfnisse erweitert. Das umfasst folgende Punkte:
  • Erweiterung auf 6 Kreise (ich habe sie nach Farben benannt)
  • Zusätzlich zum manuellen Start um Cron-Job erweitert (dieser kann nur im Code bei den Levels geändert werden)
Damit der Cronjob auch mehrmals ausgeführt wird war für mich das Einfügen eines Triggers (hier auf 60s gesetzt) nötig. Ich bin mir nicht sicher ob es da nicht klügere Ansätze gibt.

Ich bitte um Nachsicht, dass ist meine erste CustomLogik am TWS.
Screen Shot 2020-06-14 at 10.59.56.png

Code: Alles auswählen

{
    "Level":[
        ["$trigger","bool",false],
        ["$trigger_o","bool",false],
        ["$state_a","bool",false],
        ["$state_ab","bool",false],
        ["$period_a","float",0],
        ["$period_a_i","float",0],
        ["$state_b","bool",false],
        ["$state_bb","bool",false],
        ["$period_b","float",0],
        ["$period_b_i","float",0],
        ["$state_c","bool",false],
        ["$state_cb","bool",false],
        ["$period_c","float",0],
        ["$period_c_i","float",0],
        ["$state_d","bool",false],
	["$state_db","bool",false],
        ["$period_d","float",0],
        ["$period_d_i","float",0],
        ["$state_e","bool",false],
        ["$state_eb","bool",false],
        ["$period_e","float",0],
        ["$period_e_i","float",0],
        ["$state_f","bool",false],
        ["$period_f","float",0],
        ["$period_f_i","float",0],				
        ["$A0","float",0],
        ["$faktor_m2s","float",60],
        ["$faktor_i","float",1],
        ["$faktor_c","float",1],
        ["$pause_x","float",5],
        ["$freigabe","bool",true],
        ["$reset","bool",false],
        ["$CronExpr","string","* 0 1 * * *"],
        ["$SchedulerAktiv","bool",false],
        ["$TriggerScheduler","bool",false],
        ["$TriggerManuell","bool",false]
    ],
    "Module":[
        ["Cron","$SchedulerAktiv","$TriggerScheduler",0,"$CronExpr"],
        ["Or",["$TriggerScheduler","$TriggerManuell"],"$trigger"],
        ["And",["$freigabe","$trigger"],"$reset"],
        ["Polynomial", "$faktor_m2s", "$faktor_c",["$A0", "$faktor_i"]],
        ["Polynomial", "$faktor_c", "$period_a",["$A0", "$period_a_i"]],
	["Polynomial", "$faktor_c", "$period_b",["$A0", "$period_b_i"]],
	["Polynomial", "$faktor_c", "$period_c",["$A0", "$period_c_i"]],
	["Polynomial", "$faktor_c", "$period_d",["$A0", "$period_d_i"]],
	["Polynomial", "$faktor_c", "$period_e",["$A0", "$period_e_i"]],
	["Polynomial", "$faktor_c", "$period_f",["$A0", "$period_f_i"]],
        ["Monoflop","$trigger","-$reset","$state_a","$period_a",2],
        ["Monoflop","$state_a","-$reset","$state_ab","$pause_x",4],
        ["Monoflop","$state_ab","-$reset","$state_b","$period_b",4],
        ["Monoflop","$state_b","-$reset","$state_bb","$pause_x",4],
        ["Monoflop","$state_bb","-$reset","$state_c","$period_c",4],
        ["Monoflop","$state_c","-$reset","$state_cb","$pause_x",4],
        ["Monoflop","$state_cb", "-$reset","$state_d","$period_d",4],
        ["Monoflop","$state_d","-$reset","$state_db","$pause_x",4],	
        ["Monoflop","$state_db","-$reset","$state_e","$period_e",4],
        ["Monoflop","$state_e","-$reset","$state_eb","$pause_x",4],
        ["Monoflop","$state_eb","-$reset","$state_f","$period_f",4],
	["Or",["$state_a","$state_b","$state_c","$state_d","$state_e", "$state_f","$state_ab","$state_bb","$state_cb","$state_db","$state_eb"],"$TriggerManuell"],
	["Or",["$state_a","$state_b","$state_c","$state_d","$state_e", "$state_f","$state_ab","$state_bb","$state_cb","$state_db","$state_eb"],"$trigger_o"]
    ],
    "Input":[
        ["Start/Stop Manuell","Manueller Start/Stopp des Bewässerungsautomaten","$TriggerManuell","c"],
        ["Start/Stop Timer","Startet/Beendet den Bewässerungstimer","$SchedulerAktiv","c"],
        ["Dauer Grün","1.Bewässerungsdauer min.","$period_a_i","c"],
        ["Dauer Blau","2.Bewässerungsdauer min.","$period_b_i","c"],
        ["Dauer Braun","3.Bewässerungsdauer min.","$period_c_i","c"],
        ["Dauer Hellblau","4.Bewässerungsdauer min.","$period_d_i","c"],
	["Dauer Orange","5.Bewässerungsdauer min.","$period_e_i","c"],
	["Dauer Violett","6.Bewässerungsdauer min.","$period_f_i","c"],
        ["Faktor","Faktor Dauer","$faktor_i","c"],
        ["Pause","Pause in s","$pause_x","c"],
        ["Freigabe","Freigabe der Bew.Logik","$freigabe","c"]
    ],
    "Output":[
        ["Ventil Grün","Schaltausgang 1.Ventil","$state_a","c"],
        ["Ventil Blau","Schaltausgang 2.Ventil","$state_b","c"],
        ["Ventil Braun","Schaltausgang 3.Ventil","$state_c","c"],
        ["Ventil Hellblau","Schaltausgang 4.Ventil","$state_d","c"],
	["Ventil Orange","Schaltausgang 5.Ventil","$state_e","c"],
	["Ventil Violett","Schaltausgang 6.Ventil","$state_f","c"],
        ["Sequenz aktiv","Sequenz aktiv","$trigger_o","c"]
    ]
}
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Antworten

Zurück zu „Logikengine & Logik-Editor“