Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Wie kann ich FS20 Makros in iobroker einfügen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie kann ich FS20 Makros in iobroker einfügen

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Altersrentner last edited by

      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

      1 Reply Last reply Reply Quote 0
      • A
        Altersrentner last edited by

        Habe mal ganz einfach mit Variablen angefangen.
        Variable.PNG
        Die Variable soll vom Typ Zahl
        und der Startwert 22,5 sein.
        Wie kann ich das realisieren.
        Danke
        Gruß Michael

        1 Reply Last reply Reply Quote 0
        • A
          Altersrentner last edited by

          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?
          Probelauf.PNG
          Die Kommentare bilden die Makros ab.
          Danke
          Gruß Michael

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by paul53

            Der Zeitplan am Ende passt nicht, da er nur jede volle Stunde wirkt. Vorschlag:
            Blockly_Juli_oder_August.JPG

            A 1 Reply Last reply Reply Quote 0
            • A
              Altersrentner last edited by

              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

              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by paul53

                @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 ?

                1 Reply Last reply Reply Quote 0
                • A
                  Altersrentner last edited by

                  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?
                  1A7.PNG
                  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

                  1 Reply Last reply Reply Quote 0
                  • A
                    Altersrentner @paul53 last edited by

                    @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

                    TTBerlin 1 Reply Last reply Reply Quote 0
                    • TTBerlin
                      TTBerlin @Altersrentner last edited by

                      @Altersrentner Baustein "und" auf "oder" umschalten, dann rechte Maustaste auf den Baustein und "externe Eingänge" 🙂

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Altersrentner @TTBerlin last edited by

                        @TTBerlin Danke !!prima
                        Gruß Michael

                        1 Reply Last reply Reply Quote 0
                        • A
                          Altersrentner last edited by

                          Makro Vorlauf Speicheer.PNG
                          Ich komme beim Makro T_Vorlauf Speicher nicht weiter.
                          Ist der Ansatz richtig.

                          1 Reply Last reply Reply Quote 0
                          • A
                            Altersrentner last edited by

                            Drei Stunden später,
                            Könnte bitte jemand prüfen ob die Makros so richtig umgesetzt sind?
                            Probelauf.PNG
                            Danke Gruß Michael

                            1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 last edited by paul53

                              Ein Trigger innerhalb einer Funktion ist keine gute Idee. Mache es besser so:
                              Blockly_Probelauf.JPG

                              A 2 Replies Last reply Reply Quote 0
                              • A
                                Altersrentner @paul53 last edited by

                                @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__Gaestez

                                Muss das auch noch als Blockly umgesetzt werden?
                                Gruß Michael

                                1 Reply Last reply Reply Quote 0
                                • A
                                  Altersrentner @paul53 last edited by

                                  @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

                                  1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 last edited by

                                    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 ?

                                    A 1 Reply Last reply Reply Quote 0
                                    • A
                                      Altersrentner @paul53 last edited by

                                      @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

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @Altersrentner last edited by

                                        @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.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          Altersrentner @paul53 last edited by

                                          @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.

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            Altersrentner last edited by

                                            Datenpunkt.PNG
                                            Jetzt mit Datenpunkten ; 22,5 ist der Sollwert .
                                            Schaltet die Pumpe >22,5 aus?
                                            Gute Nacht
                                            Gruß Michael

                                            paul53 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            515
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            3
                                            50
                                            1565
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo