NEWS
Wie kann ich FS20 Makros in iobroker einfügen
-
Hallo,
Ich möchte versuchen meine FS20 Steuerung in iobroker zu übertragen.
Leider habe ich keine Vorstellung wie oder wo ich anfangen soll.
Die Steuerung funktioniert seit vielen Jahren ohne Probleme.
Leider steigen die HMS100T jetzt vermehrt aus.
Da ich im iobroker unterschiedliche Fabrikate verknüpfen kann könnten z. B. für deffekte Temperaturfühler 1 wire Fühler zum Einsatz kommen.
Gibt es jemand, der mir diesbezüglich helfen könnte.
Anbei das Makro der Heizkreissteuerung.** Makro HeizkreisSteuerung ** Variablen ** T__WZSoll Typ Zahl, Startwert 22,5 ** T__VorbauSoll Typ Zahl, Startwert 21,0 ** PumpeEinschalten Typ Zahl, Startwert 0 ** Probelauf Typ Zahl, Startwert 0 ** T__Bad Typ Zahl, Startwert 22,5 ** T__Schlafz Typ Zahl, Startwert 10,0 ** T__Flur Typ Zahl, Startwert 22,0 ** T__Gaestez Typ Zahl, Startwert 20,0 WohnzimmerIS := "Soll: " + T__WZSoll + " Ist: " + T__WZ Wohnzimmer := T__WZSoll Vorbau := "Soll: " + T__VorbauSoll + " Ist: " + T__Vorbau Bad := "Soll: " + T__BadSoll + " Ist: " + T__Bad Schlafzimmer := "Soll: " + T__SchlafzSoll + " Ist: " + T__Schlafz Flur := "Soll: " + T__FlurSoll + " Ist: " + T__Flur Gaestezimmer := "Soll: " + T__GaestezSoll + " Ist: " + T__Gaestez wenn Uhrzeit >= "00:01:00" und Uhrzeit <= "00:03:00" dann Heizungspumpe1A7Automatik einschalten endewenn wenn Heizungspumpe1A7Automatik ausgeschaltet dann verlassen Endewenn Probelauf := 0 wenn Uhrzeit >= "23:0:00" und Uhrzeit < "23:10:00" dann Probelauf := 1 endewenn wenn Uhrzeit >= "05:00:00" und Uhrzeit < "05:10:00" dann Probelauf := 1 endewenn wenn Uhrzeit >= "11:00:00" und Uhrzeit < "11:10:00" dann Probelauf := 1 endewenn wenn Uhrzeit >= "17:00:00" und Uhrzeit < "17:10:00" dann Probelauf := 1 endewenn wenn Monat = 7 oder Monat = 8 dann Probelauf := 0 endewenn wenn T__VorlSpeicher < 25,0 und Probelauf = 0 dann Heizkreispumpe1A7 ausschalten verlassen endewenn **wenn Uhrzeit < "02:00:00" oder Uhrzeit >= "23:00:00" dann ** wenn KS300Wettersensor_Temp >= (-5,0) dann ** Heizkreispumpe1A7 ausschalten ** verlassen ** endewenn **endewenn PumpeEinschalten := 0 ** >0 überall eingefügt, damit beim Programmstart nicht eingeschaltet wird, ** nur, weil noch kein Signal vom Temperatur-Sensor eingegangen ist. wenn RaumreglerBuero.Temperatur > 0 und RaumreglerBuero.Temperatur < RaumreglerBuero dann PumpeEinschalten := 1 endewenn wenn T__WZ > 0 und T__WZ < T__WZSoll dann PumpeEinschalten := 1 endewenn wenn T__Vorbau > 0 und T__Vorbau < T__VorbauSoll dann PumpeEinschalten := 1 endewenn wenn T__Gaestez > 0 und T__Gaestez < T__GaestezSoll dann PumpeEinschalten := 1 endewenn wenn T__Bad > 0 und T__Bad < T__BadSoll dann PumpeEinschalten := 1 endewenn wenn T__Schlafz > 0 und T__Schlafz < T__SchlafzSoll dann PumpeEinschalten := 1 endewenn wenn T__Flur > 0 und T__Flur < T__FlurSoll dann PumpeEinschalten := 1 endewenn wenn PumpeEinschalten = 1 dann Heizkreispumpe1A7 einschalten sonst Heizkreispumpe1A7 ausschalten endewenn
Danke
Gruß Michael -
Habe mal ganz einfach mit Variablen angefangen.
Die Variable soll vom Typ Zahl
und der Startwert 22,5 sein.
Wie kann ich das realisieren.
Danke
Gruß Michael -
Hallo,
Variable war wohl nicht der richtige Anfang.
Jetzt habe ich mich auf Probelauf konzentriert.
Könnte jemand bitte mal schauen ob das so passt?
Die Kommentare bilden die Makros ab.
Danke
Gruß Michael -
Der Zeitplan am Ende passt nicht, da er nur jede volle Stunde wirkt. Vorschlag:
-
Hallo paul53,
Danke für Deine Unterstützung, das Skript werde ich so ändern.
Praktisch müsste doch jetzt im Log z.B. zwischen 11:00 und 11:10 ein Eintrag
über Probelauf erscheinen. Oder irre ich mich.
Anbei der Logauszug.codedwd.0 2019-02-28 11:10:01.816 info starting. Version 2.4.3 in /opt/iobroker/node_modules/iobroker.dwd, node: v8.12.0 dwd.0 2019-02-28 11:10:01.650 info States connected to redis: 127.0.0.1:6379 host.ioBroker-RasPi 2019-02-28 11:10:00.052 info instance system.adapter.dwd.0 started with pid 16759 fhem.0 2019-02-28 11:09:10.370 info event ioBroker "fhem.0.Ventilation.state_switch on" > set Ventilation on fhem.0 2019-02-28 11:09:09.372 info event ioBroker "fhem.0.GewaechshausLED_Ventilation.state_switch on" > set GewaechshausLED_Ventilation on fhem.0 2019-02-28 11:07:10.158 info event ioBroker "fhem.0.Ventilation.state_switch on" > set Ventilation on fhem.0 2019-02-28 11:07:09.159 info event ioBroker "fhem.0.GewaechshausLED_Ventilation.state_switch on" > set GewaechshausLED_Ventilation on host.ioBroker-RasPi 2019-02-28 11:06:07.047 info instance system.adapter.yr.1 terminated with code 0 (OK) host.ioBroker-RasPi 2019-02-28 11:06:07.035 info instance system.adapter.yr.0 terminated with code 0 (OK) yr.1 2019-02-28 11:06:01.949 info got weather data from yr.no yr.0 2019-02-28 11:06:01.939 info got weather data from yr.no yr.1 2019-02-28 11:06:01.636 info starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.yr, node: v8.12.0 yr.0 2019-02-28 11:06:01.589 info starting. Version 2.0.3 in /opt/iobroker/node_modules/iobroker.yr, node: v8.12.0 yr.1 2019-02-28 11:06:01.450 info States connected to redis: 127.0.0.1:6379 yr.0 2019-02-28 11:06:01.427 info States connected to redis: 127.0.0.1:6379 host.ioBroker-RasPi 2019-02-28 11:06:00.121 info instance system.adapter.yr.0 started with pid 16294 host.ioBroker-RasPi 2019-02-28 11:06:00.058 info instance system.adapter.yr.1 started with pid 16289 host.ioBroker-RasPi 2019-02-28 11:05:03.130 info instance system.adapter.dwd.0 terminated with code 0 (OK) dwd.0 2019-02-28 11:05:01.753 info starting. Version 2.4.3 in /opt/iobroker/node_modules/iobroker.dwd, node: v8.12.0 dwd.0 2019-02-28 11:05:01.610 info States connected to redis: 127.0.0.1:6379 host.ioBroker-RasPi 2019-02-28 11:05:00.041 info instance system.adapter.dwd.0 started with pid 16174 host.ioBroker-RasPi 2019-02-28 11:00:09.902 info instance system.adapter.daswetter.0 terminated with code 0 (OK) daswetter.0 2019-02-28 11:00:09.886 debug nothing to do host.ioBroker-RasPi 2019-02-28 11:00:09.131 info instance system.adapter.ical.0 terminated with code 0 (OK) host.ioBroker-RasPi 2019-02-28 11:00:04.097 info instance system.adapter.dwd.0 terminated with code 0 (OK) ical.0 2019-02-28 11:00:03.435 info processing URL: Google Mond https://calendar.google.com/calendar/ical/ht3jlfaac5lfd6263ulfh4tql8%40group.calendar.google.com/public/basic.ics ical.0 2019-02-28 11:00:03.431 info processing URL: Google Michael https://calendar.google.com/calendar/ical/m-baer%40t-online.de/private-9fe4ff3cfa48c1d1dd33e5167dff0445/basic.ics daswetter.0 2019-02-28 11:00:03.151 debug update already running daswetter.0 2019-02-28 11:00:03.143 debug objects in list: 1635 ical.0 2019-02-28 11:00:03.214 info processing URL: Google https://calendar.google.com/calendar/ical/de.german%23holiday%40group.v.calendar.google.com/public/basic.ics daswetter.0 2019-02-28 11:00:03.142 debug hourly forecast done, objects in list 1635 ical.0 2019-02-28 11:00:03.033 info processing URL: calendar1 http://11111.ics daswetter.0 2019-02-28 11:00:02.438 debug calling forecast hourly: http://api.daswetter.com/index.php?api_lang=de&localidad=99265&affiliate_id=1q78xxh7eqsc&v=2.0&h=1 daswetter.0 2019-02-28 11:00:02.432 debug using new datastructure daswetter.0 2019-02-28 11:00:02.431 debug set timeout to 60 sec ical.0 2019-02-28 11:00:02.450 info starting. Version 1.7.0 in /opt/iobroker/node_modules/iobroker.ical, node: v8.12.0 daswetter.0 2019-02-28 11:00:02.420 info starting. Version 2.6.0 in /opt/iobroker/node_modules/iobroker.daswetter, node: v8.12.0 ical.0 2019-02-28 11:00:02.240 info States connected to redis: 127.0.0.1:6379 dwd.0 2019-02-28 11:00:02.244 info starting. Version 2.4.3 in /opt/iobroker/node_modules/iobroker.dwd, node: v8.12.0 daswetter.0 2019-02-28 11:00:02.177 info States connected to redis: 127.0.0.1:6379 daswetter.0 2019-02-28 11:00:02.169 debug statesDB connected daswetter.0 2019-02-28 11:00:02.110 debug objectDB connected dwd.0 2019-02-28 11:00:02.029 info States connected to redis: 127.0.0.1:6379 host.ioBroker-RasPi 2019-02-28 11:00:00.109 info instance system.adapter.ical.0 started with pid 15599 host.ioBroker-RasPi 2019-02-28 11:00:00.081 info instance system.adapter.daswetter.0 started with pid 15593 host.ioBroker-RasPi 2019-02-28 11:00:00.042 info instance system.adapter.dwd.0 started with pid 15588 host.ioBroker-RasPi 2019-02-28 10:55:03.498 info instance system.adapter.dwd.0 terminated with code 0
Danke
Gruß Michael -
@Altersrentner sagte in Wie kann ich FS20 Makros in iobroker einfügen:
Oder irre ich mich.
Eine Funktion wird nur ausgeführt, wenn sie aufgerufen wird. Wird die Funktion regelmäßig aufgerufen ?
-
Hallo,
Ja der Probelauf wird immer zu den vorgegebenen Zeiten durchgeführt. Wobei ich mir aber nicht sicher bin.
Dazu liegt die Erstellung der Programmierung zu weit zurück.
Ich mache heute Abend weiter.
Noch eine Frage, wenn ich die Makros so eins zu eins übernehme, sollte dann die Steuerung laufen?
Oder kann man das nicht sagen.
Könntest Du bitte mal auf das Skript 1A7 schauen?
Das ist die Hauptpumpe die über den Probelauf gestartet werden soll.
Das Skript hatte ich aber auch schon gestern fertig. Ist somit auch gelaufen.
Danke
Gruß Michael -
@paul53 Hallo,ich versuche jetzt schon längere Zeit den Baustein "oder "
mit einem Eingang und und zwei Ausgängen zu finden.leider vergeblich.
Wo kann ich den finden?
Gruß Michael -
@Altersrentner Baustein "und" auf "oder" umschalten, dann rechte Maustaste auf den Baustein und "externe Eingänge"
-
@TTBerlin Danke !!prima
Gruß Michael -
Ich komme beim Makro T_Vorlauf Speicher nicht weiter.
Ist der Ansatz richtig. -
Drei Stunden später,
Könnte bitte jemand prüfen ob die Makros so richtig umgesetzt sind?
Danke Gruß Michael -
Ein Trigger innerhalb einer Funktion ist keine gute Idee. Mache es besser so:
-
@paul53 Guten Morgen,
Danke für Deine Verbesserung. Werde ich ändern.
Nun bin ich mit dem ersten Part (Makro HeizkreisSteuerung)so weit durch.
Im Grunde genommen wurden hier nur Variablen verwendet.
Es gibt in der Beschreibung (siehe 1. Beitrag) folgenden Teil:WohnzimmerIS := "Soll: " + T__WZSoll + " Ist: " + T__WZ
Wohnzimmer := T__WZSoll
Vorbau := "Soll: " + T__VorbauSoll + " Ist: " + T__Vorbau
Bad := "Soll: " + T__BadSoll + " Ist: " + T__Bad
Schlafzimmer := "Soll: " + T__SchlafzSoll + " Ist: " + T__Schlafz
Flur := "Soll: " + T__FlurSoll + " Ist: " + T__Flur
Gaestezimmer := "Soll: " + T__GaestezSoll + " Ist: " + T__GaestezMuss das auch noch als Blockly umgesetzt werden?
Gruß Michael -
@paul53 habe deinen Vorschlag realisiert.
Unter "Steuerung Heizventile" Ist mir folgendes aufgefallen;
Bei den Makros tauche gleiche Variablen z.B. "T__WZ"
in verschiedenen Blöcken z.B. "Heizkreissteuerung_EG u.u.u." auf.
Im Makro wird dann:wenn T__WZ > 0 und T__WZ < HeizkreisSteuerung.T__WZSoll dann HeizungsPumpeEG einschalten endewennde_text
auf den Block verwiesen wo sich die Variable befindet.
Wie kann ich das realisieren.
Danke
Gruß Michael -
Mit FS20 und den Makros kenne ich mich nicht aus.
Irgendwoher müssen die Variablen (Messwert, Sollwert) ihren Wert erhalten. In ioBroker sind das Datenpunkte. Ebenso müssen die Schaltaktoren (Pumpe) Datenpunkte sein.
Wie sehen die Datenpunkte aus und woher kommen sie ?
Sind die Sollwerte auch Datenpunkte oder feste Werte ? -
@paul53 Hallo,
Danke für deine Nachricht.
Mir ist klar, das es schwierig sein wird meine Vorstellungen zu verwirklichen.
Pumen sind Datenpunkte, ebenso T_WZ =Temperatur Wohnzimmer.
T_WZSoll = Solltemperatur ist eine feste Vorgabe.** Variablen ** T__WZSoll Typ Zahl, Startwert 22,5 ** T__VorbauSoll Typ Zahl, Startwert 21,0 ** PumpeEinschalten Typ Zahl, Startwert 0 ** Probelauf Typ Zahl, Startwert 0 ** T__Bad Typ Zahl, Startwert 22,5 ** T__Schlafz Typ Zahl, Startwert 10,0 ** T__Flur Typ Zahl, Startwert 22,0 ** T__Gaestez Typ Zahl, Startwert 20,0
Da ich jetzt dafür Variablen eingesetzt habe,
muss ich diese doch dem Datenpunkt zuweisen oder?
Eine Andere Frage ist, Die Variable T_WZ wird es in unterschiedlichen Skripten geben. Funktioniert das?
Gruß Michael -
@Altersrentner sagte:
Die Variable T_WZ wird es in unterschiedlichen Skripten geben. Funktioniert das?
Mit Variablen funktioniert es nicht, Datenpunkte können in beliebig vielen Skripten verarbeitet werden.
T_WZSoll = Solltemperatur ist eine feste Vorgabe. Da ich jetzt dafür Variablen eingesetzt habe, muss ich diese doch dem Datenpunkt zuweisen oder?
Wenn die Sollwerte immer gleichbleiben können (sollen), kann man den Wert im Skript fest vorgeben. Will man Sollwerte auch mal verändern (z.B. bei Anwesenheit / Abwesenheit) muss man Datenpunkte dafür verwenden.
-
@paul53
"Mit Variablen funktioniert es nicht, Datenpunkte können in beliebig vielen Skripten verarbeitet werden."
Das habe ich mir fast gedacht. Dann ist meine ganze Arbeit für die Katze gewesen.
"Wenn die Sollwerte immer gleichbleiben können (sollen), kann man den Wert im Skript fest vorgeben. Will man Sollwerte auch mal verändern (z.B. bei Anwesenheit / Abwesenheit) muss man Datenpunkte dafür verwenden."
Kannst Du mir das bitte an einem Beispiel erklären?
Ich werde dann morgen versuchen die Blocklys mit Datenpunkten abzuändern. -
Jetzt mit Datenpunkten ; 22,5 ist der Sollwert .
Schaltet die Pumpe >22,5 aus?
Gute Nacht
Gruß Michael