Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Bash/Shell Script mit ioBroker ersetzen. Sinnvoll?

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Bash/Shell Script mit ioBroker ersetzen. Sinnvoll?

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Brenner 0 last edited by

      Hallo zusammen,

      ich habe mir bisher alles bzgl. ioBroker usw. selbst beibringen können, aber jetzt weiß ich nicht mehr weiter.

      Ich habe einen Raspi4 mit ioBroker, influxDB2 und Grafana laufen. Alles jeweils in der aktuellen Version.

      Seit 10 Jahren habe ich ein Modul meiner Heizung per USB an einen Raspi und lese dort die Werte aus und übertrage dieses an meine Homematic CCU2 (Zentrale der Haussteuerung). Bis vor 3 Monaten war die CCU der zentrale Datenpunkt für alles. Seit dem ich vor ca. 2 Monaten mit iobroker angefangen hat, ist dieser die Datenzentrale um die sich alles dreht.

      Auf dem alten Raspi läuft ein Shell Script alle 5 Minuten ausgeführt wurde, die Heizung ausließt und die Werte an die CCU überträgt.

      Ich würde gerne den alten Raspi ablösen (der nur noch deswegen an ist) und das über den neuen Raspi (mit ioBroker machen).

      Das Script ist sehr simpel, ein Teil siehe hier:

      ![4da7c563-b355-455b-ac2b-84d831b60019-image.png](/assets/uploads/files/1647524967617-4da7c563-b355-455b-ac2b-84d831b60019-image.png) code_text
      
      ##############
      ### Puffer ###
      ##############
      #HZ_Puffer_TWO (Temperatur Wasser Oben)
      HZ_Puffer_TWO=`/usr/local/bin/siloader -s | head -n 17 | tail -n 1 | tr -d "TWO: " | cut -d "▒" -f 1`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6412&new_value=$HZ_Puffer_TWO"
      
      #HZ_Puffer_TPO (Temperatur Puffer Oben)
      HZ_Puffer_TPO=`/usr/local/bin/siloader -s | head -n 18 | tail -n 1 | cut -d " " -f 8`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6413&new_value=$HZ_Puffer_TPO"
      
      #HZ_Puffer_TPU (Temperatur Puffer Unten)
      HZ_Puffer_TPU=`/usr/local/bin/siloader -s | head -n 19 | tail -n 1 | cut -d " " -f 8`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6414&new_value=$HZ_Puffer_TPU"
      
      #HZ_Puffer_TWU (Temperatur Wasser Unten)
      HZ_Puffer_TWU=`/usr/local/bin/siloader -s | head -n 20 | tail -n 1 | cut -d " " -f 8`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6415&new_value=$HZ_Puffer_TWU"
      
      #HZ_Puffer_TWOS (Temperatur Wasser Oben Soll)
      HZ_Puffer_TWOS=`/usr/local/bin/siloader -s | head -n 21 | tail -n 1| tr -d "TWOS: " | cut -d "▒" -f 1`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6416&new_value=$HZ_Puffer_TWOS"
      
      #HZ_Puffer_TPOS (Temperatur Puffer Oben Soll)
      HZ_Puffer_TPOS=`/usr/local/bin/siloader -s | head -n 22 | tail -n 1 | tr -d "TPOS: " | cut -d "▒" -f 1`;
      wget -q "http://192.168.0.12/config/xmlapi/statechange.cgi?ise_id=6417&new_value=$HZ_Puffer_TPOS"
      

      Ich würde die Werte gerne in den ioBroker einpflegen, ohne den Umweg über die CCU und deren Systemvariablen. Kann ich als "Anfänger" mein altes Script ablösen und quasi das Script in ioBroker nachbilden und damit ablösen?

      Ich danke auch sehr!

      Viele Grüße,
      Stefan.

      Jey Cee paul53 2 Replies Last reply Reply Quote 0
      • Jey Cee
        Jey Cee Developer @Brenner 0 last edited by

        @brenner-0 sagte in Bash/Shell Script mit ioBroker ersetzen. Sinnvoll?:

        Kann ich als "Anfänger" mein altes Script ablösen und quasi das Script in ioBroker nachbilden und damit ablösen?

        Wenn du JavaScript kannst ist das kein Problem. Es geht sicher auch mit Blockly und dem request Baustein.

        B 1 Reply Last reply Reply Quote 0
        • B
          Brenner 0 @Jey Cee last edited by

          @jey-cee Hallo Jey Cee, kann ich leider nicht, ich breche mir ja schon mit den Shell Scripten einen ab...

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

            @brenner-0
            Es wird die Datei /usr/local/bin/siloader ausgeführt. Das müsste dann auf dem neuen Raspi erfolgen.
            Welche Ausgabe liefert der Aufruf der Datei an die Console?

            Man kann das Skript auch so modifizieren, dass die Wertübergabe nicht an SV, sondern per Simple-API an ioBroker-Datenpunkte erfolgt.

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

              @paul53 So wie unten sieht es aus. Ich schneide mir halt die Einzelwerte raus. Wusste mir nicht anders zu helfen.

              root@cacti04:/fhemtocacti# /usr/local/bin/siloader -s
              ----------------------------------------------------------------
               SystaInterface Status & Info
              
               SystaComfort or SystaCompact and SystaSolar
              ----------------------------------------------------------------
              
              Date - Time : 17.03.2022 - 14:44
              
              Info
              ----
              TA:         0.0 ▒C                      Kesselstatus:       Aus
              TK:         0.0 ▒C                      Kesselstarts:       20279
              PK:          50  %                      Kessellaufzeit:     17250 h
              
              Puffer              Heizkreis 1         Heizkreis 2
              ------              -----------         -----------
              TWO:       64.7 ▒C  TI1:       31.3 ▒C  TI2:        0.0 ▒C
              TPO:       64.4 ▒C  TV1:       56.2 ▒C  TV2:      -29.6 ▒C
              TPU:       62.0 ▒C  TR1:       50.7 ▒C  TR2:      -29.1 ▒C
              TWU:       34.0 ▒C  TV1S:      55.0 ▒C  TV2S:       0.0 ▒C
              TWOS:      65.0 ▒C  RT1S:      26.5 ▒C  RT2S:       0.0 ▒C
              TPOS:      75.0 ▒C  PHK1:        70  %  PHK2:         0  %
              
              Solar                                   St▒rung
              -----                                   -------
              TSA:       23.1 ▒C                      Kessel :  --
              TSE:       25.6 ▒C                      F▒hler :  10
              PSO:          0  %                      Solar  :  --
              Status:    Aus (0)
              Leistung:    0.0 kw
              Tagesgewinn:   0 kwh
              Ertrag:      232 kwh
              
              root@cacti04:/fhemtocacti#
              
              
              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Brenner 0 last edited by paul53

                @brenner-0 sagte: Ich schneide mir halt die Einzelwerte raus.

                Da bleibt wohl auch nichts anderes übrig. Dann ersetze in Deinem Shell script die Ausgaben an die Simple-API des Web-Adapters (Port 8082). Beispiel:

                wget -q "http://192.168.0.xyz:8082/set/0_userdata.0.Heizung.Puffer.TPU?value=$HZ_Puffer_TPU"
                
                B 1 Reply Last reply Reply Quote 0
                • B
                  Brenner 0 @paul53 last edited by

                  @paul53 Ok. Danke.

                  Jetzt überlege ich nur was Sinn macht. iobroker ist zwar jetzt die zentrale IO Basis, aber die Haussteuerung läuft weiterhin über dessen Zentrale (CCU3). Im ioBroker benötige ich die Werte derzeit nur um sie zu visualisieren und von sourceanalytix zu profitieren. In der CCU benötige ich sie um Programmbasiert zu regeln.

                  Eventuell mache ich es doppelt. Alle paar Sekunden in ioBroker, alle paar Minuten in die CCU.

                  Mal schauen.

                  VIELEN HERZLICHEN Dank an dieser Stelle, ich hätte nie erwartet so unglaublich schnell eine Antwort zu erhalten!

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

                    @brenner-0 sagte: Eventuell mache ich es doppelt. Alle paar Sekunden in ioBroker, alle paar Minuten in die CCU.

                    Mache es in einem Skript, indem Du es zum Schluss erweiterst um die Ausgabe an ioBroker mittels setBulk, da alle Werte offenbar in unterschiedlichen Variablen vorhanden sind.

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    570
                    Online

                    31.6k
                    Users

                    79.6k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    292
                    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