Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Suche Unterstützung bei Blocky

    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

    Suche Unterstützung bei Blocky

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      eLoP @Codierknecht last edited by

      Aktuell möchte ich ein Script realisieren:
      Die Geräte sind eingebunden und die Objekte sind steuerbar.

      Es geht darum, eine LG-Wärmepumpe so zu steuern, dass sie bei Überschuss vom Dach (z. B. Solarstrom) in den Modus "Turbo" umgeschaltet wird und die Soll-Temperatur auf 60°C setzt. Sobald der Überschuss abfällt, soll sie wieder in den Modus "Wärmepumpe" zurückgeschaltet werden und die Soll-Temperatur auf 45°C setzen.

      In FHEM wäre das für mich kein Problem, aber mit Blockly habe ich überhaupt keinen Durchblick.

      Ich denke für jemanden mit mehr Ahnung keine große Sache. Für mich wieder eine Herausforderung.

      Homoran paul53 2 Replies Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @eLoP last edited by Homoran

        @elop sagte in Suche Unterstützung bei Blocky:

        Ich denke für jemanden mit mehr Ahnung keine große Sache. Für mich wieder eine Herausforderung.

        Hast du dir mal die verlinkte Einführung für Dummies angesehen.

        Ich kenne die Programmierung unter FHEM nicht. Hab nach Installation davon nicht einmal gefundrn wo etwas zu machen ist.
        Aber wahrscheinlich wird auch dein übliches Drnken nicht gewohnt sein dass javascript eventbasiert aufgebaut ist.
        Ein Skript läuft immer und wartet auf einen Event, der dann die Ausführung triggert.

        Lies dir bitte den Thread durch und beginne klein.

        Wenn Taster, dann Lampe an
        geht bei Blockly

        Triggern auf Taster
        Logikbaustein falls gedrückt
        mache Licht an

        fertig!

        EDIT!
        Der Cache hatte wieder zugeschlagen.
        die anderen Antworten hatte ich eben noch nicht gesehen 😢

        E 1 Reply Last reply Reply Quote 0
        • E
          eLoP @Homoran last edited by

          @homoran

          @homoran
          Vielen Dank. Im Grunde hast du recht. Allerdings habe ich so etwas nie gelernt, und es fällt mir schwer, gewissen Dingen zu folgen. Wenn ich Anleitungen finde, kann ich es meistens nachbauen, aber das nimmt enorm viel Zeit in Anspruch.

          "Damals" 2019, als ich mit FHEM angefangen habe, war es deutlich komplizierter. Aber da hatte ich auch noch mehr Zeit. Mittlerweile habe ich zwei kleine Kinder im Haus, und da kann man abends nicht mehr stundenlang sitzen und rumprobieren.

          Hier mal ein Beispiel aus FHEM:

          defmod di_EG_Hue_Esszimmer_Licht_KNX DOIF ([EG_Hue_Esszimmer_Licht_KNX] eq "on") (set
          HueBridge_HUEGroup5 color 5600 ;; set HueBridge_HUEGroup5 bri 254) DOELSE (set HueBridge_HUEGroup5 bri 40) (set
          HueBridge_HUEGroup5 off)
          attr di_EG_Hue_Esszimmer_Licht_KNX alias di_EG_Hue_Esszimmer_Licht_KNX
          attr di_EG_Hue_Esszimmer_Licht_KNX do always
          attr di_EG_Hue_Esszimmer_Licht_KNX room EG_Esszimmer
          attr di_EG_Hue_Esszimmer_Licht_KNX wait 0:0,0.5

          Für mich ist das alles voll nachvollziehbar und in ein paar Minuten geschrieben.

          Das Ganze jetzt in Blockly nachzubauen? Horror!

          Aber ich merke, ich habe meine Frage falsch gestellt. Sie sollte eher lauten:

          Gibt es hier im Forum jemanden, der mir bei einigen Sachen direkt auf meinem ioBroker unterstützen kann?

          Ich bin bereit, für die Hilfe zu bezahlen, und zeitlich bin ich flexibel. Mit ein paar Beispielen könnte ich später vieles selbst umsetzen, aber im Moment brauche ich einfach etwas Nachhilfe.

          Vielen Dank im Voraus!

          Codierknecht Homoran 2 Replies Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @eLoP last edited by Codierknecht

            @elop sagte in Suche Unterstützung bei Blocky:

            Gibt es hier im Forum jemanden, der mir bei einigen Sachen direkt auf meinem ioBroker unterstützen kann?
            Ich bin bereit, für die Hilfe zu bezahlen, und zeitlich bin ich flexibel. Mit ein paar Beispielen könnte ich später vieles selbst umsetzen, aber im Moment brauche ich einfach etwas Nachhilfe.

            Nimm Dir zunächst ein paar Minuten Zeit und lies den verlinkten Thread durch.

            Wie @Homoran schon schrieb: Ein kleines Beispiel für den Anfang sollte reichen.

            38c9c32f-e3d8-4cd9-a8bb-2c3e41381351-image.png

            Ich persönlich finde das schon ziemlich selbsterklärend.

            Versuch das so umzusetzen (gesetzt den Fall Du hast da passende Datenpunkte zur Auswahl) und dann sehen wir weiter.

            1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @eLoP last edited by

              @elop sagte in Suche Unterstützung bei Blocky:

              Für mich ist das alles voll nachvollziehbar

              😱 Was ist das? 🤔

              Damit könnte ich absolut nichts anfangen 😂

              Aber vor ioBroker kannte ich auch kein Linux, kein HTML, kein Javascript.

              Grundbedingung ist logisch3s Denken und strukturierte Herangehensweise.
              Blockly macht denn den Rest (Syntax).

              Du darfst nur nicht direkt anfangen zu viel zu wollen.

              @elop sagte in Suche Unterstützung bei Blocky:

              Das Ganze jetzt in Blockly nachzubauen? Horror!

              jede Veränderung fängt mit dem ersten Schritt an!
              Mach den mal, egal was dabei rauskommt.

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

                @elop sagte: LG-Wärmepumpe so zu steuern, dass sie bei Überschuss vom Dach (z. B. Solarstrom) in den Modus "Turbo" umgeschaltet wird und die Soll-Temperatur auf 60°C setzt. Sobald der Überschuss abfällt, soll sie wieder in den Modus "Wärmepumpe" zurückgeschaltet werden und die Soll-Temperatur auf 45°C setzen.

                Wie wird der Überschuss ermittelt?
                Um wieviel steigt die Leistungsaufnahme der WP im Turbo-Modus maximal? Das muss man bei der Hysterese berücksichtigen, damit nicht ständig hin und her geschaltet wird.

                Prinzip, wenn der Turbo-Modus über einen DP vom Typ Logikwert aktiviert wird:

                Blockly_temp.JPG

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

                  @paul53
                  vielen dak für den ansatz.

                  Ich habe angefangen, das Problem in Blockly zu lösen, komme aber vor allem bei dem Punkt, den Modus umzustellen, nicht weiter. Das liegt daran, dass man quasi aus einer Liste auswählen soll, und das ist in Blockly nicht so intuitiv für mich.

                  Daraufhin habe ich das halbfertige Script in ChatGPT eingegeben, und es hat mir das Ganze ergänzt. Allerdings funktioniert es nur halb. Anscheinend läuft das Umschalten des Modus nicht richtig. Die Wunschtemperatur wurde geändert, aber mit dem Modus scheint es trotzdem Probleme zu geben. Außerdem bekomme ich im Protokoll alle paar Sekunden eine Menge Fehlermeldungen.

                  das war mein code nach chatgpt:


                  on({ id: 'sonoff.0.Stromzaehler.SML_Power_curr', change: 'ne' }, async (obj) => {
                  let value = obj.state.val;
                  let oldValue = obj.oldState.val;
                  if (value < -3000) {
                  // Warte 30 Sekunden, bevor die Befehle ausgeführt werden
                  await new Promise(resolve => setTimeout(resolve, 30000));
                  // Setze auf Turbo-Modus und Zieltemperatur auf 60°C
                  await setState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.opMode', 'WH_MODE_TURBO_W');
                  await setState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.hotWaterTarget', 60);
                  } else {
                  // Setze auf Wärmepumpen-Modus und Zieltemperatur auf 45°C
                  await setState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.opMode', 'WH_MODE_HEAT_PUMP_W');
                  await setState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.hotWaterTarget', 45);
                  }
                  });

                  Dann habe ich gelesen das man den Modus nicht mit dem Namen ändern soll sondern mit den Kennziffern (25) oder (27) aber leider klappt das bei mir auch nicht.

                  Die hysterie habe ich erstmal auf 30 Sekunden gehabt aber das war nur zum testen. Meine Solar Alage hat knapp 24 peak und meistens bewege ich mich eh deutlich im negativen Berreich. blockly.jpg log.jpg lg.jpg lg1.jpg

                  Homoran paul53 2 Replies Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @eLoP last edited by Homoran

                    @elop sagte in Suche Unterstützung bei Blocky:

                    Daraufhin habe ich das halbfertige Script in ChatGPT eingegeben,

                    warum 😢

                    @homoran sagte in Suche Unterstützung bei Blocky:

                    einfach mal einen Versuch im Blockly Unterforum posten, dann zerlegen wir das schon (und nicht dich!)


                    was ist opMode?

                    der Block mit Wert oder vorheriger Wert bezieht sich auf den Triggerdatenpunkt.
                    Das dürfte die momentane Leistung sein.

                    Diesen Wert willst du doch nicht in den DP opMode schreiben, oder?
                    Was muss da rein?
                    am besten mal die Objektdaten des Datenpunktes (Expertenmodus - Bleistift,rechts) zeigen

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

                      @elop sagte: mit den Kennziffern (25) oder (27)

                      Richtig, der Modus ist vom Typ "number". Bitte OBJEKTDATEN in Code tags posten!
                      In Blockly sieht es dann etwa so aus:

                      Blockly_temp.JPG

                      Der DP "sonoff.0.Stromzaehler.SML_Power_curr" liefert positive Werte bei Bezug und negative Werte bei Einspeisung?
                      Ich wiederhole meine Frage: Um wieviel steigt die Leistungsaufnahme der WP im Turbo-Modus maximal?

                      Die Verzögerungen sind erforderlich, um die WP nicht bei jeder kleinen Wolke / Wolkenlücke zu schalten.

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

                        ein sehr netter forumskollege hat mir dabei geholfen und es das eigentliche script zum ansteuern der pumpe läuft sehr gut.

                        22222222222.jpg

                        var ZielModus, ZielTemperatur;
                        
                        
                        on({ id: [].concat(['0_userdata.0.stromverbrauch.durchschnittsverbrauch']), change: 'ne' }, async (obj) => {
                          let value = obj.state.val;
                          let oldValue = obj.oldState.val;
                          if ((obj.state ? obj.state.val : '') < -3500) {
                            ZielModus = 27;
                            ZielTemperatur = 60;
                          } else if ((obj.state ? obj.state.val : '') > -3000) {
                            ZielModus = 25;
                            ZielTemperatur = 45;
                          } else {
                            ZielModus = -1;
                          }
                          if ((ZielModus > 0) && (ZielModus != getState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.opMode').val)) {
                            setState('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.hotWaterTarget' /* airState.tempState.hotWaterTarget */, ZielTemperatur);
                            setStateDelayed('lg-thinq.0.d348ef53-36f6-17cf-a17d-b8165f2f3d19.remote.basicCtrl.opMode' /* airState.opMode */, ZielModus, 1000, false);
                          }
                        });
                        

                        ich habe anscheinend noch einen kleinen fehler im durchschnittsverbrauch script. aber das sollte sich auch geben.

                        vielen dank.

                        @paul53 vielen dank für dein beispiel. deinen anderen beitrag hatte ich gefunden und der hatte sehr geholfen.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        941
                        Online

                        31.9k
                        Users

                        80.2k
                        Topics

                        1.3m
                        Posts

                        5
                        15
                        430
                        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