Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Migration Scriptgui ccu.io -> iobroker.javascript

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Migration Scriptgui ccu.io -> iobroker.javascript

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

      Hallo Bernd,

      na das ging mal schnell 🙂

      Danke dafür

      Und sieht darüber hinaus auch noch sehr danach aus, als könnte ich das script mit ein paar kleinen Änderungen auch fast so übernehmen.

      Wenn ich das richtig interpretiere bildest Du den Durchschnittswert aus den letzten 3 Werten, richtig? Wie lange ist den die Zeitdifferenz dazwischen? Es geht mir dabei darum, ein Gefühl zu entwickeln, wie ich das bei mir angehe, da ich je nach Messpunkt zwischen zwei Messungen ca 500ms habe. Und von den Messpunkten habe ich fast 35 Stück übers Haus verteilt!

      Gruß

      Bernhard

      1 Reply Last reply Reply Quote 0
      • B
        bku last edited by

        Bernhard,

        ja du hast das richtig erkannt - aber ich mittele mir nur 3 Stromverbrauchsmessungen um Spitzen auszugleichen. Ist auch noch mehr test. Meine Messwerte kommen so alle 3 Minuten. Läuft z.Z. ohne Prob.

        Ob dein Volumen so funktioniert kann ich nicht sagen - vom Gefühl bin ich eher skeptisch. Ausprobieren!

        Gruß Bernd

        1 Reply Last reply Reply Quote 0
        • S
          smiling_Jack last edited by

          @Heinzelmaennchen:

          Hallo Bluefox,

          1. (Wie) kann man ein bestehendes ccui.io prg oder script am besten importieren?

          Herzliche Grüße

          Bernhard `

          Am besten mit ScriptGUI für ioBroker. Aber das dauert leider noch etwas :oops:

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo,

            hab jetzt doch schon mal angefangen, in iobroker zu scripten, damit ich beim Usertreffen nicht ganz unbeleckt dastehe. Die Portierung aller Skripte aus CCU.IO ist ein Riesenbatzen für mich (z.Zt. 78 Skripte, teils mehrere Seiten lang). Ich fange erstmal an mit den neuen Scripts, die keine Homematic-Datenpunkte verwenden (Adapter noch nicht aktiviert).

            Frage 1: Das Anlegen einer Variable ist oben erklärt (createState). Gibt es die Möglichkeit, die Variablen näher zu definieren (so wie in CCU.IO mit setObject)? Ich möchte festlegen, welcher Typ sie ist (Boolean, Zeichenkette, etc.), welche Einheit sie verwendet (zB Volt oder °C) und schließlich einen String mit Leerzeichen zur Benennung in Yahui (dafür auch das obligatorische r in Klammern).

            Frage 2: Wo werden die Scripts abgespeichert? Kann ich sie nur im Adapter editieren oder kann ich sie mit auch im Dateisystem finden und mit einem externen Editor arbeiten?

            Die zwei Fragen möchte ich klären, damit ich mir nicht Doppelt Arbeit mache.

            Gruß

            Pix

            EDIT: Wichtig sind für mich vor allem Variablen vom Type Werteliste. Wie erstelle ich die?

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

              @bku:

              Hallo Bernhard,

              schau mal mein Script an. Erzeugt eine Variable "DVerbrauch" rechnet was und schreibt den Wert in die Variable.

              Die Variable ist immer verfügbar bis du sie löscht. Du findest sie bei den Objekten wieder und kannst sie darüber dann visualisieren.

              Gruß Bernd `

              Hallo Bernd,

              wie hast Du in der CCU die Variable "Stomverbrauch" (bei Dir hm-rega.0.9919) erzeugt?

              Die Diagramme in der CCU finde ich schon ganz sinnvoll, z.B. kWh im Tagesverlauf nach Stunden, Im Wochen- und Monatsverlauf nach Tagen.

              So etwas würde ich gerne in ioBroker nachbilden, frage mich nur wie?

              Der ENERGY_COUNTER im hm-rpc Objekt zählt ja einfach nur hoch.

              Jetzt könnte man jede Stunde das Delta der Werte nehmen und in eine Javascript Variable schreiben.

              Ebenso um 0:00 Uhr das Delta der Werte zwischen 24h.

              Ich habe allerdings keine Ahnung, wie ich das Umsetzen kann.

              Mit Javascript und Schedule? Und dann? wie kommt man an die richtigen Werte um das Delta zu bilden?

              Meine Frage oben zielte vor allem darauf, ob die gewünschten Werte schon in der CCU vorliegen und ich einfach diese verwenden kann.

              VG,

              Michael

              1 Reply Last reply Reply Quote 0
              • B
                bku last edited by

                @ruhr70:

                wie hast Du in der CCU die Variable "Stomverbrauch" (bei Dir hm-rega.0.9919) erzeugt? `
                Ist noch aus einer Script-Berechnung in CCU.IO - hab da noch Solar-Werte die ich rein- bzw. rausrechne. Dort wird die Variable in die CCU geschrieben.

                Da ich im "Scripten" noch nicht so gut bin, ist es noch nicht in ioBroker portiert …..

                Gruß Bernd

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

                  @bku:

                  Ist noch aus einer Script-Berechnung in CCU.IO - hab da noch Solar-Werte die ich rein- bzw. rausrechne. Dort wird die Variable in die CCU geschrieben.

                  Da ich im "Scripten" noch nicht so gut bin, ist es noch nicht in ioBroker portiert …..

                  Gruß Bernd `

                  Danke für die Rückmeldung.

                  Na, dann ist das ein Thema für später, um ein bisschen in Javascript reinzukommen 😉

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

                    @pix:

                    Gibt es die Möglichkeit, die Variablen näher zu definieren (so wie in CCU.IO mit setObject)? `
                    In der neuen Version (vor 5 Minuten) gibt es die Möglichkeit:

                    https://github.com/ioBroker/ioBroker.ja … parameters

                    createState('myVariable', {unit: '°C', type: 'number'});
                    

                    @pix:

                    Wo werden die Scripts abgespeichert? `
                    48_scripts.png
                    Die kann man leider direkt nicht editieren. Aber da wird ace editor verwendet. Und der ist wirklich bequem. Und wenn nicht, sage einfach und wir werden es verbessern.

                    @pix:

                    Wichtig sind für mich vor allem Variablen vom Type Werteliste. Wie erstelle ich die? `

                    createState('myVariable', {type: 'number', states:['first','second',third']});
                    
                    1 Reply Last reply Reply Quote 0
                    • P
                      pix last edited by

                      Danke, das hilft mir weiter.

                      Habe noch https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#state gefunden.

                      Gruss

                      Pix

                      1 Reply Last reply Reply Quote 0
                      • P
                        pix last edited by

                        Hallo,
                        @Bluefox:

                        Die kann man leider direkt nicht editieren. Aber da wird ace editor verwendet. Und der ist wirklich bequem. Und wenn nicht, sage einfach und wir werden es verbessern. `
                        Der Editor zeigt mir immer nur 23 Zeilen auf einmal an, auch wenn ich das Fenster größer ziehe (Browser Safari und Chrome auf OS X Yosemite). 261_bildschirmfoto_2015-03-29_um_15.09.35.jpg

                        Die Doku der Parameter für createState ist unvollständig. Wie nutze ich "forceCreation"? Wenn ich z.B. den Namen oder die EInheit einer Variable im Nachhinein ändern will, sollte sie beim Reload die Änderung in der Deklaration übernehmen. Bisher muss ich sie immer löschen und das Skript neu starten. Das ist sicher nicht gut u.a. für History.

                        Nutzt man das so?

                        createState('Alarmanlage', 0, {forceCreation: true}, {name: 'Status Alarmanlage (r)', type: 'number', states:['unscharf','scharf']});
                        

                        Gruß

                        Pix

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        693
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        6
                        13
                        3870
                        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