Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. programmieren mit Blockly lernen, benötige Hilfe

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

programmieren mit Blockly lernen, benötige Hilfe

Geplant Angeheftet Gesperrt Verschoben Blockly
46 Beiträge 7 Kommentatoren 4.8k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • MartinPM MartinP

    @paul53 Ich bin gerade etwas verblüfft ...

    Ich habe jetzt etwas länger die Pick-Kategorien durchsucht, und finde diese "Hochkant" Logik-Blöcke nicht....

    2b418651-a831-4e8c-986f-6a55c09d302a-grafik.png

    Sondern nur das "Querformat"...

    d6064ab1-7ccd-4625-906d-817f5ce8828f-grafik.png

    Wo hat sich denn dieser Schatz wieder versteckt?
    Wieder eine Sache, die nur in Beta verfügbar ist?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #30

    @martinp sagte: Wo hat sich denn dieser Schatz wieder versteckt?

    Rechte Maustaste über dem Block und "externe Eingänge" auswählen.

    @martinp sagte in programmieren mit Blockly lernen, benötige Hilfe:

    finde diese "Hochkant" Logik-Blöcke nicht....

    Du hast sie doch verwendet.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    MartinPM 1 Antwort Letzte Antwort
    0
    • MartinPM MartinP

      @paul53 Ich bin gerade etwas verblüfft ...

      Ich habe jetzt etwas länger die Pick-Kategorien durchsucht, und finde diese "Hochkant" Logik-Blöcke nicht....

      2b418651-a831-4e8c-986f-6a55c09d302a-grafik.png

      Sondern nur das "Querformat"...

      d6064ab1-7ccd-4625-906d-817f5ce8828f-grafik.png

      Wo hat sich denn dieser Schatz wieder versteckt?
      Wieder eine Sache, die nur in Beta verfügbar ist?

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #31

      @martinp sagte in programmieren mit Blockly lernen, benötige Hilfe:

      Wo hat sich denn dieser Schatz wieder versteckt?

      in der rechten Maustaste und externe Eingänge

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      MartinPM 1 Antwort Letzte Antwort
      1
      • HomoranH Homoran

        @martinp sagte in programmieren mit Blockly lernen, benötige Hilfe:

        Wo hat sich denn dieser Schatz wieder versteckt?

        in der rechten Maustaste und externe Eingänge

        MartinPM Online
        MartinPM Online
        MartinP
        schrieb am zuletzt editiert von
        #32

        gaah, immer diese modernen "aufgeräumten" Oberflächen.

        Das ist wirklich nicht für Gelegenheits-Blockly Benutzer. Wenn man sechs Wochen nichts getan hat, hat man das doch wieder vergessen ;-)

        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
        Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
        Linux pve 6.8.12-16-pve
        6 GByte RAM für den Container
        Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
        Remote-Access über Wireguard der Fritzbox

        CodierknechtC 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @martinp sagte: Wo hat sich denn dieser Schatz wieder versteckt?

          Rechte Maustaste über dem Block und "externe Eingänge" auswählen.

          @martinp sagte in programmieren mit Blockly lernen, benötige Hilfe:

          finde diese "Hochkant" Logik-Blöcke nicht....

          Du hast sie doch verwendet.

          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von
          #33

          @paul53 said in programmieren mit Blockly lernen, benötige Hilfe:

          Du hast sie doch verwendet.

          Screen Shot aus einem der Posts weiter oben

          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
          Virtualization : unprivileged lxc container (debian 12 on Proxmox 8.4.14)
          Linux pve 6.8.12-16-pve
          6 GByte RAM für den Container
          Fritzbox 6591 FW 8.03 (Vodafone Leih-Box)
          Remote-Access über Wireguard der Fritzbox

          1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            gaah, immer diese modernen "aufgeräumten" Oberflächen.

            Das ist wirklich nicht für Gelegenheits-Blockly Benutzer. Wenn man sechs Wochen nichts getan hat, hat man das doch wieder vergessen ;-)

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #34

            @martinp sagte in programmieren mit Blockly lernen, benötige Hilfe:

            Das ist wirklich nicht für Gelegenheits-Blockly Benutzer. Wenn man sechs Wochen nichts getan hat, hat man das doch wieder vergessen

            Man muss sich nur den natürlichen Spieltrieb erhalten ... und die Macht der rechten Maustaste nutzen ;-)

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • W Offline
              W Offline
              woupi
              schrieb am zuletzt editiert von woupi
              #35

              Ich hänge jetzt doch mal das ganze Skript an. Ich würde mich freuen, wenn ihr euch das mal ansehen und mir Hinweise zu Fehlern, Verbesserungen und/oder einfach nur Tipps geben könnt. Ich weiß das es sehr lang ist und bin deshalb auch jedem Dankbar der sich die Mühe macht.

              df3f6d63-ebe8-45b4-a44c-a30026c73319-image.png
              76555fc7-cf6c-4e92-a1b5-5dac28b75a47-image.png
              9c10ed00-2b56-4a45-b4f2-e46976ced9e4-image.png
              9217102c-9af0-4ecb-8a05-e632d84f11a8-image.png
              c080dc6d-823b-4c87-aad2-2a41182ef1dd-image.png
              5ffe6945-966b-478c-92dd-218238564b4f-image.png
              76555fc7-cf6c-4e92-a1b5-5dac28b75a47-image.png
              9c10ed00-2b56-4a45-b4f2-e46976ced9e4-image.png
              9217102c-9af0-4ecb-8a05-e632d84f11a8-image.png
              c080dc6d-823b-4c87-aad2-2a41182ef1dd-image.png
              5ffe6945-966b-478c-92dd-218238564b4f-image.png
              ebd94259-05e3-45cc-a87b-374ed5b7785e-image.png
              6902b957-283c-4740-8e62-745d5f97bae1-image.png
              3400175f-062b-460b-a314-d419f96cbe26-image.png
              VG
              Sascha

              NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

              P 1 Antwort Letzte Antwort
              0
              • W woupi

                Ich hänge jetzt doch mal das ganze Skript an. Ich würde mich freuen, wenn ihr euch das mal ansehen und mir Hinweise zu Fehlern, Verbesserungen und/oder einfach nur Tipps geben könnt. Ich weiß das es sehr lang ist und bin deshalb auch jedem Dankbar der sich die Mühe macht.

                df3f6d63-ebe8-45b4-a44c-a30026c73319-image.png
                76555fc7-cf6c-4e92-a1b5-5dac28b75a47-image.png
                9c10ed00-2b56-4a45-b4f2-e46976ced9e4-image.png
                9217102c-9af0-4ecb-8a05-e632d84f11a8-image.png
                c080dc6d-823b-4c87-aad2-2a41182ef1dd-image.png
                5ffe6945-966b-478c-92dd-218238564b4f-image.png
                76555fc7-cf6c-4e92-a1b5-5dac28b75a47-image.png
                9c10ed00-2b56-4a45-b4f2-e46976ced9e4-image.png
                9217102c-9af0-4ecb-8a05-e632d84f11a8-image.png
                c080dc6d-823b-4c87-aad2-2a41182ef1dd-image.png
                5ffe6945-966b-478c-92dd-218238564b4f-image.png
                ebd94259-05e3-45cc-a87b-374ed5b7785e-image.png
                6902b957-283c-4740-8e62-745d5f97bae1-image.png
                3400175f-062b-460b-a314-d419f96cbe26-image.png
                VG
                Sascha

                P Offline
                P Offline
                papaechokilo
                schrieb am zuletzt editiert von
                #36

                @woupi mal ne Frage: „läuft das überhaupt?“ Ich verstehe nicht, was das Blockly tun soll aber sehe am Anfang zwei Fehler. A)1. Trigger wenn sich … geändert hat und 2. Trigger Cron. Der Trigger ist entweder das eine oder das andere. Die Zeitangabe erfolgt über eine wenn-Abfrage. B)Dieselbe Variable DebWpStG wird am Anfang durch zwei verschiedene Datenpunkte gefüllt. Das zweite überschreibt den ersten Eintrag, also wozu.

                W 1 Antwort Letzte Antwort
                0
                • P papaechokilo

                  @woupi mal ne Frage: „läuft das überhaupt?“ Ich verstehe nicht, was das Blockly tun soll aber sehe am Anfang zwei Fehler. A)1. Trigger wenn sich … geändert hat und 2. Trigger Cron. Der Trigger ist entweder das eine oder das andere. Die Zeitangabe erfolgt über eine wenn-Abfrage. B)Dieselbe Variable DebWpStG wird am Anfang durch zwei verschiedene Datenpunkte gefüllt. Das zweite überschreibt den ersten Eintrag, also wozu.

                  W Offline
                  W Offline
                  woupi
                  schrieb am zuletzt editiert von woupi
                  #37

                  @papaechokilo sagte in programmieren mit Blockly lernen, benötige Hilfe:

                  @woupi mal ne Frage: „läuft das überhaupt?“

                  Das eigentliche Skript, ohne die Änderungen mit den Variablen läuft seit fast einem Jahr. Wurde immer wieder erweitert.
                  Das mit den Veränderungen habe ich heute morgen erst eingeschaltet und das andere abgeschaltet. Das wird sich heute zeigen ob es läuft.

                  Ich verstehe nicht, was das Blockly tun soll aber sehe am Anfang zwei Fehler. A)1. Trigger wenn sich … geändert hat und 2. Trigger Cron. Der Trigger ist entweder das eine oder das andere. Die Zeitangabe erfolgt über eine wenn-Abfrage.

                  Verstehe nicht was Du meinst. Es sind zwei Trigger. Der Erste reagiert auf die beiden Datenpunkte Debug_WP_ST_Variable und Debug_WP_Steuerung.
                  Der zweite Trigger ist ein Zeittrigger der um 9:30 jeden Tag ausgeführt werden soll.

                  B)Dieselbe Variable DebWpStG wird am Anfang durch zwei verschiedene Datenpunkte gefüllt. Das zweite überschreibt den ersten Eintrag, also wozu.

                  Da hast du recht, im zweiten habe ich die falsche Variable ausgewählt.

                  Danke
                  VG
                  Sascha

                  PS:
                  WP wurde gerade auch mit dem geänderten Skript gestartet, also der erste Teil funktioniert auch mit den Änderungen.

                  NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                  1 Antwort Letzte Antwort
                  0
                  • W Offline
                    W Offline
                    woupi
                    schrieb am zuletzt editiert von
                    #38

                    Guten Morgen,

                    bis auf 2 Kleinigkeiten läuft das Skript wieder.

                    Eventuell könnte sich die eine mal ansehen, ob das so richtig ist bzw ob ich das nicht sowieso ganz anders machen kann/muss.

                    Vielen Dank:

                    Es geht darum, dass die WP abgeschaltet werden soll wenn 1. die Innentemperatur erreicht wurde (das funktioniert) und 2. wenn kein PV Strom mehr vorhanden ist. Dabei soll aber nicht sofort, nur weil mal eine Wolke diesen zu stark reduziert, abgeschaltet werden.

                    Genau dafür hatte ich mal ein Teilskript erstellt in dem eine Liste erstellt und anschließend gefüllt wird. Nach 30 Einträgen wird dann der erste gelöscht und der nächste unten eingetragen. So sind immer 30 Einträge vorhanden.
                    Aus diesen wird dann ein Mittelwert gebildet und der wiederum in eine Variable (Gleitwert_PV) gesetzt.
                    Auch das funktioniert soweit.
                    Allerdings ist diese Variable, wenn kein PV da ist offensichtlich leer, also da ist nichts drin.

                    Ich habe jetzt heute morgen erstmal ein setze auf 0 vor den Trigger gesetzt, so das die Variable beim Start einmal auf 0 gesetzt wird.
                    Zusätzlich habe ich noch ein sonst falls eingebaut um den Gleitwert_PV auf 0 zu setzen wenn kein PV da ist.

                    9a6170d6-bc3b-4d54-8f7b-3c4f59fafbcd-image.png

                    NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                    CodierknechtC AsgothianA 2 Antworten Letzte Antwort
                    0
                    • W woupi

                      Guten Morgen,

                      bis auf 2 Kleinigkeiten läuft das Skript wieder.

                      Eventuell könnte sich die eine mal ansehen, ob das so richtig ist bzw ob ich das nicht sowieso ganz anders machen kann/muss.

                      Vielen Dank:

                      Es geht darum, dass die WP abgeschaltet werden soll wenn 1. die Innentemperatur erreicht wurde (das funktioniert) und 2. wenn kein PV Strom mehr vorhanden ist. Dabei soll aber nicht sofort, nur weil mal eine Wolke diesen zu stark reduziert, abgeschaltet werden.

                      Genau dafür hatte ich mal ein Teilskript erstellt in dem eine Liste erstellt und anschließend gefüllt wird. Nach 30 Einträgen wird dann der erste gelöscht und der nächste unten eingetragen. So sind immer 30 Einträge vorhanden.
                      Aus diesen wird dann ein Mittelwert gebildet und der wiederum in eine Variable (Gleitwert_PV) gesetzt.
                      Auch das funktioniert soweit.
                      Allerdings ist diese Variable, wenn kein PV da ist offensichtlich leer, also da ist nichts drin.

                      Ich habe jetzt heute morgen erstmal ein setze auf 0 vor den Trigger gesetzt, so das die Variable beim Start einmal auf 0 gesetzt wird.
                      Zusätzlich habe ich noch ein sonst falls eingebaut um den Gleitwert_PV auf 0 zu setzen wenn kein PV da ist.

                      9a6170d6-bc3b-4d54-8f7b-3c4f59fafbcd-image.png

                      CodierknechtC Offline
                      CodierknechtC Offline
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von Codierknecht
                      #39

                      @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                      Dabei soll aber nicht sofort, nur weil mal eine Wolke diesen zu stark reduziert, abgeschaltet werden.

                      Sowas macht man üblicherweise mit einem Timeout.
                      Nach dem Motto: Wenn PV unter Wert X, starte Timeout von Y Sekunden.
                      Wenn PV über Wert X, stoppe diesen Timeout.

                      Damit wird dann die WP nur dann abgeschaltet, wenn die Leistung der PV eine gewisse Zeit konstant unter X liegt.

                      Vielleicht hilft Dir das:
                      https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/9

                      Edit
                      Du musst natürlich darauf achten, dass der Timeout nur beim ersten Fallen der Leistung unter Deine Grenze gestartet wird.

                      7a18eaab-1070-4163-a95f-16b5a03ec9f8-image.png

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      W 1 Antwort Letzte Antwort
                      1
                      • W woupi

                        Guten Morgen,

                        bis auf 2 Kleinigkeiten läuft das Skript wieder.

                        Eventuell könnte sich die eine mal ansehen, ob das so richtig ist bzw ob ich das nicht sowieso ganz anders machen kann/muss.

                        Vielen Dank:

                        Es geht darum, dass die WP abgeschaltet werden soll wenn 1. die Innentemperatur erreicht wurde (das funktioniert) und 2. wenn kein PV Strom mehr vorhanden ist. Dabei soll aber nicht sofort, nur weil mal eine Wolke diesen zu stark reduziert, abgeschaltet werden.

                        Genau dafür hatte ich mal ein Teilskript erstellt in dem eine Liste erstellt und anschließend gefüllt wird. Nach 30 Einträgen wird dann der erste gelöscht und der nächste unten eingetragen. So sind immer 30 Einträge vorhanden.
                        Aus diesen wird dann ein Mittelwert gebildet und der wiederum in eine Variable (Gleitwert_PV) gesetzt.
                        Auch das funktioniert soweit.
                        Allerdings ist diese Variable, wenn kein PV da ist offensichtlich leer, also da ist nichts drin.

                        Ich habe jetzt heute morgen erstmal ein setze auf 0 vor den Trigger gesetzt, so das die Variable beim Start einmal auf 0 gesetzt wird.
                        Zusätzlich habe ich noch ein sonst falls eingebaut um den Gleitwert_PV auf 0 zu setzen wenn kein PV da ist.

                        9a6170d6-bc3b-4d54-8f7b-3c4f59fafbcd-image.png

                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von
                        #40

                        @woupi Moin

                        Die Mittelwertbildung so wie du sie abgebildet hast hat meiner Meinung nach 2 "Auffälligkeiten"

                        • Du triggers auf "ist kleiner als vorher", das heisst das je nach dem wie sich die PV Leistung gerade verändert der Zeitraum über den der Mittelwert gebildet wird unterschiedlich ist
                        • die von Dir beschriebene Situation bei 0-Werten.

                        den 2. Fall kann man relativ leicht "umgehen" ohne sich mit vielen Abfragen zu Beschäftigen:
                        Die Berechnung Gleitwert_PV in einen Falls Block, Die abzuprüfende Bedingung ist "Länge von Liste Liste_PV > 0". Im Sonst-Zweig dann einfach Gleitwert_PV=0

                        der 1. Fall ist da schon ungünstiger. Ich bin normalerweise kein Freund von Heartbeat-getriebenen Aktionen, aber die einfache Lösung ist hier:

                        Statt des Triggers ein Cron-Job, der alle x Sekunden nur deine Gleitwertberechnung durchführt.

                        Die elegantere Lösung ist komplexer:

                        • du brauchst 2 Listen - eine mit den PV Werten, und eine mit den Timestamps wann die Änderungen aufgetreten sind.
                        • An stelle des Einkürzen der Liste auf x einträge kürzt du dann die Liste auf einen festen Zeitraum (z.Bsp. 15 Minuten), und berechnest erst den Mittelwert durch Aufaddieren von ( PV Leistung * Dauer dieser Leistung ) und teilst das Ergebnis durch deinen Zeitraum.

                        A.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        W 2 Antworten Letzte Antwort
                        1
                        • CodierknechtC Codierknecht

                          @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                          Dabei soll aber nicht sofort, nur weil mal eine Wolke diesen zu stark reduziert, abgeschaltet werden.

                          Sowas macht man üblicherweise mit einem Timeout.
                          Nach dem Motto: Wenn PV unter Wert X, starte Timeout von Y Sekunden.
                          Wenn PV über Wert X, stoppe diesen Timeout.

                          Damit wird dann die WP nur dann abgeschaltet, wenn die Leistung der PV eine gewisse Zeit konstant unter X liegt.

                          Vielleicht hilft Dir das:
                          https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/9

                          Edit
                          Du musst natürlich darauf achten, dass der Timeout nur beim ersten Fallen der Leistung unter Deine Grenze gestartet wird.

                          7a18eaab-1070-4163-a95f-16b5a03ec9f8-image.png

                          W Offline
                          W Offline
                          woupi
                          schrieb am zuletzt editiert von
                          #41

                          @codierknecht sagte in programmieren mit Blockly lernen, benötige Hilfe:

                          Vielleicht hilft Dir das:
                          https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/

                          Das habe ich zwar schon mehrmals gelesen, aber für den Fall so nicht drauf gekommen, das zu nutzen.

                          Edit
                          Du musst natürlich darauf achten, dass der Timeout nur beim ersten Fallen der Leistung unter Deine Grenze gestartet wird.

                          7a18eaab-1070-4163-a95f-16b5a03ec9f8-image.png

                          Wenn ich das richtig verstehe wird das 2. Falls nur abgefragt, wenn die PV Leistung unter 1500 gefallen ist.
                          Das 2.Falls trifft dann ein wenn die PV Leistung über/gleich 1500 ist. Dabei wird dann die WP nach 300 sek abgeschaltet.

                          Das würde aber bedeuten, dass die WP abgeschaltet wird, wenn PV da ist, oder sehe ich da was falsch?

                          NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                          CodierknechtC 1 Antwort Letzte Antwort
                          0
                          • AsgothianA Asgothian

                            @woupi Moin

                            Die Mittelwertbildung so wie du sie abgebildet hast hat meiner Meinung nach 2 "Auffälligkeiten"

                            • Du triggers auf "ist kleiner als vorher", das heisst das je nach dem wie sich die PV Leistung gerade verändert der Zeitraum über den der Mittelwert gebildet wird unterschiedlich ist
                            • die von Dir beschriebene Situation bei 0-Werten.

                            den 2. Fall kann man relativ leicht "umgehen" ohne sich mit vielen Abfragen zu Beschäftigen:
                            Die Berechnung Gleitwert_PV in einen Falls Block, Die abzuprüfende Bedingung ist "Länge von Liste Liste_PV > 0". Im Sonst-Zweig dann einfach Gleitwert_PV=0

                            der 1. Fall ist da schon ungünstiger. Ich bin normalerweise kein Freund von Heartbeat-getriebenen Aktionen, aber die einfache Lösung ist hier:

                            Statt des Triggers ein Cron-Job, der alle x Sekunden nur deine Gleitwertberechnung durchführt.

                            Die elegantere Lösung ist komplexer:

                            • du brauchst 2 Listen - eine mit den PV Werten, und eine mit den Timestamps wann die Änderungen aufgetreten sind.
                            • An stelle des Einkürzen der Liste auf x einträge kürzt du dann die Liste auf einen festen Zeitraum (z.Bsp. 15 Minuten), und berechnest erst den Mittelwert durch Aufaddieren von ( PV Leistung * Dauer dieser Leistung ) und teilst das Ergebnis durch deinen Zeitraum.

                            A.

                            W Offline
                            W Offline
                            woupi
                            schrieb am zuletzt editiert von
                            #42

                            @asgothian sagte in programmieren mit Blockly lernen, benötige Hilfe:

                            @woupi Moin

                            Die Mittelwertbildung so wie du sie abgebildet hast hat meiner Meinung nach 2 "Auffälligkeiten"

                            • Du triggers auf "ist kleiner als vorher", das heisst das je nach dem wie sich die PV Leistung gerade verändert der Zeitraum über den der Mittelwert gebildet wird unterschiedlich ist
                            • die von Dir beschriebene Situation bei 0-Werten.

                            Das habe ich heute morgen auch erst geändert, sorry habe ich vergessen zu schreiben. Mein Gedanke war, dass ja nur wenn die PV Leistung einen Wert von 0 unterschreitet, soll abgeschaltet werden und somit bräuchte die Liste ja auch nur bei abfallenden Werten gefüllt werden.

                            den 2. Fall kann man relativ leicht "umgehen" ohne sich mit vielen Abfragen zu Beschäftigen:
                            Die Berechnung Gleitwert_PV in einen Falls Block, Die abzuprüfende Bedingung ist "Länge von Liste Liste_PV > 0". Im Sonst-Zweig dann einfach Gleitwert_PV=0

                            Ok, Danke das habe ich glaube ich verstanden und werde das später wenn ich zu Hause bin mal versuchen zu ändern.

                            der 1. Fall ist da schon ungünstiger. Ich bin normalerweise kein Freund von Heartbeat-getriebenen Aktionen, aber die einfache Lösung ist hier:

                            Statt des Triggers ein Cron-Job, der alle x Sekunden nur deine Gleitwertberechnung durchführt.

                            Die elegantere Lösung ist komplexer:

                            • du brauchst 2 Listen - eine mit den PV Werten, und eine mit den Timestamps wann die Änderungen aufgetreten sind.
                            • An stelle des Einkürzen der Liste auf x einträge kürzt du dann die Liste auf einen festen Zeitraum (z.Bsp. 15 Minuten), und berechnest erst den Mittelwert durch Aufaddieren von ( PV Leistung * Dauer dieser Leistung ) und teilst das Ergebnis durch deinen Zeitraum.

                            A.

                            Das muss ich mir mal in Ruhe genau durchlesen und am WE mal versuchen ob ich dazu was finde. Auf Anhieb und auf die schnelle durchlesen, habe ich so nicht verstanden wie die elegante Lösung funktionieren könnte.

                            NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                            1 Antwort Letzte Antwort
                            0
                            • W woupi

                              @codierknecht sagte in programmieren mit Blockly lernen, benötige Hilfe:

                              Vielleicht hilft Dir das:
                              https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps/

                              Das habe ich zwar schon mehrmals gelesen, aber für den Fall so nicht drauf gekommen, das zu nutzen.

                              Edit
                              Du musst natürlich darauf achten, dass der Timeout nur beim ersten Fallen der Leistung unter Deine Grenze gestartet wird.

                              7a18eaab-1070-4163-a95f-16b5a03ec9f8-image.png

                              Wenn ich das richtig verstehe wird das 2. Falls nur abgefragt, wenn die PV Leistung unter 1500 gefallen ist.
                              Das 2.Falls trifft dann ein wenn die PV Leistung über/gleich 1500 ist. Dabei wird dann die WP nach 300 sek abgeschaltet.

                              Das würde aber bedeuten, dass die WP abgeschaltet wird, wenn PV da ist, oder sehe ich da was falsch?

                              CodierknechtC Offline
                              CodierknechtC Offline
                              Codierknecht
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #43

                              @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                              oder sehe ich da was falsch?

                              Ja ;-)

                              Das erste "Falls" prüft, ob die geänderte Leistung der PV unter 1500 liegt.
                              Tut sie das, prüft das zweite, ob sie zuletzt ÜBER 1500 lag. Denn nur dann (beim ersten Fallen unter die Grenze) soll der Timeout starten.
                              Ändert sich die Leistung jetzt z.B. 5 Minuten gar nicht, schlägt der Timer zu.
                              Der schlägt aber auch zu, wenn die Leistung sich zwar geändert hat, aber weiterhin unter 1500 bleibt.

                              Das "sonst" im ersten Teil sorgt dafür, dass der Timeout gestoppt wird wenn die PV wieder mehr produziert.

                              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                              Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                              HmIP|ZigBee|Tasmota|Unifi
                              Zabbix Certified Specialist
                              Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                              W 1 Antwort Letzte Antwort
                              0
                              • CodierknechtC Codierknecht

                                @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                oder sehe ich da was falsch?

                                Ja ;-)

                                Das erste "Falls" prüft, ob die geänderte Leistung der PV unter 1500 liegt.
                                Tut sie das, prüft das zweite, ob sie zuletzt ÜBER 1500 lag. Denn nur dann (beim ersten Fallen unter die Grenze) soll der Timeout starten.
                                Ändert sich die Leistung jetzt z.B. 5 Minuten gar nicht, schlägt der Timer zu.
                                Der schlägt aber auch zu, wenn die Leistung sich zwar geändert hat, aber weiterhin unter 1500 bleibt.

                                Das "sonst" im ersten Teil sorgt dafür, dass der Timeout gestoppt wird wenn die PV wieder mehr produziert.

                                W Offline
                                W Offline
                                woupi
                                schrieb am zuletzt editiert von
                                #44

                                @codierknecht

                                Ok, danke.

                                Da merkt man leider, dass ich keine Ahnung vom Programmieren habe.

                                Ich werde das heute Abend ausprobieren.

                                NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                1 Antwort Letzte Antwort
                                0
                                • AsgothianA Asgothian

                                  @woupi Moin

                                  Die Mittelwertbildung so wie du sie abgebildet hast hat meiner Meinung nach 2 "Auffälligkeiten"

                                  • Du triggers auf "ist kleiner als vorher", das heisst das je nach dem wie sich die PV Leistung gerade verändert der Zeitraum über den der Mittelwert gebildet wird unterschiedlich ist
                                  • die von Dir beschriebene Situation bei 0-Werten.

                                  den 2. Fall kann man relativ leicht "umgehen" ohne sich mit vielen Abfragen zu Beschäftigen:
                                  Die Berechnung Gleitwert_PV in einen Falls Block, Die abzuprüfende Bedingung ist "Länge von Liste Liste_PV > 0". Im Sonst-Zweig dann einfach Gleitwert_PV=0

                                  der 1. Fall ist da schon ungünstiger. Ich bin normalerweise kein Freund von Heartbeat-getriebenen Aktionen, aber die einfache Lösung ist hier:

                                  Statt des Triggers ein Cron-Job, der alle x Sekunden nur deine Gleitwertberechnung durchführt.

                                  Die elegantere Lösung ist komplexer:

                                  • du brauchst 2 Listen - eine mit den PV Werten, und eine mit den Timestamps wann die Änderungen aufgetreten sind.
                                  • An stelle des Einkürzen der Liste auf x einträge kürzt du dann die Liste auf einen festen Zeitraum (z.Bsp. 15 Minuten), und berechnest erst den Mittelwert durch Aufaddieren von ( PV Leistung * Dauer dieser Leistung ) und teilst das Ergebnis durch deinen Zeitraum.

                                  A.

                                  W Offline
                                  W Offline
                                  woupi
                                  schrieb am zuletzt editiert von
                                  #45

                                  @asgothian sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                  @woupi Moin

                                  Die Mittelwertbildung so wie du sie abgebildet hast hat meiner Meinung nach 2 "Auffälligkeiten"

                                  • Du triggers auf "ist kleiner als vorher", das heisst das je nach dem wie sich die PV Leistung gerade verändert der Zeitraum über den der Mittelwert gebildet wird unterschiedlich ist
                                  • die von Dir beschriebene Situation bei 0-Werten.

                                  den 2. Fall kann man relativ leicht "umgehen" ohne sich mit vielen Abfragen zu Beschäftigen:
                                  Die Berechnung Gleitwert_PV in einen Falls Block, Die abzuprüfende Bedingung ist "Länge von Liste Liste_PV > 0". Im Sonst-Zweig dann einfach Gleitwert_PV=0

                                  Ich habe den ersten Teil mal umgesetzt, wenn ich es richtig verstanden habe, sollte es dann so richtig sein, oder?
                                  7312e14d-6dd2-4f90-aaa3-181b5dbd1cac-image.png

                                  Das weitere versuche ich morgen Früh mal umzusetzen, jetzt muss ich leider wieder arbeiten. Danke

                                  Die elegantere Lösung ist komplexer:

                                  NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                  1 Antwort Letzte Antwort
                                  0
                                  • W Offline
                                    W Offline
                                    woupi
                                    schrieb am zuletzt editiert von woupi
                                    #46

                                    @codierknecht sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                    @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                    oder sehe ich da was falsch?

                                    Ja ;-)

                                    Das erste "Falls" prüft, ob die geänderte Leistung der PV unter 1500 liegt.
                                    Tut sie das, prüft das zweite, ob sie zuletzt ÜBER 1500 lag. Denn nur dann (beim ersten Fallen unter die Grenze) soll der Timeout starten.
                                    Ändert sich die Leistung jetzt z.B. 5 Minuten gar nicht, schlägt der Timer zu.
                                    Der schlägt aber auch zu, wenn die Leistung sich zwar geändert hat, aber weiterhin unter 1500 bleibt.

                                    Das "sonst" im ersten Teil sorgt dafür, dass der Timeout gestoppt wird wenn die PV wieder mehr produziert.

                                    Auch das habe ich jetzt mal umgesetzt und das mit der Liste deaktiviert. Wenn das wie gewünscht funktioniert ist das ja definitiv einfacher.
                                    @codierknecht sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                    @woupi sagte in programmieren mit Blockly lernen, benötige Hilfe:

                                    oder sehe ich da was falsch?

                                    Ja ;-)

                                    Das erste "Falls" prüft, ob die geänderte Leistung der PV unter 1500 liegt.
                                    Tut sie das, prüft das zweite, ob sie zuletzt ÜBER 1500 lag. Denn nur dann (beim ersten Fallen unter die Grenze) soll der Timeout starten.
                                    Ändert sich die Leistung jetzt z.B. 5 Minuten gar nicht, schlägt der Timer zu.
                                    Der schlägt aber auch zu, wenn die Leistung sich zwar geändert hat, aber weiterhin unter 1500 bleibt.

                                    Das "sonst" im ersten Teil sorgt dafür, dass der Timeout gestoppt wird wenn die PV wieder mehr produziert.

                                    Auch das habe ich jetzt mal umgesetzt und das mit der Liste deaktiviert. Wenn das wie gewünscht funktioniert ist das ja definitiv einfacher.
                                    Wenn es nicht wie gewünscht funktioniert, setze ich mich an die beiden Listen. Das muss ich allerdings erstmal verstehen.

                                    5c512d12-3a7a-4bc8-9280-1db41f4eb722-image.png

                                    Wenn es nicht wie gewünscht funktioniert, setze ich mich an die beiden Listen. Das muss ich allerdings erstmal verstehen.

                                    Danke nochmal an alle, für die Hilfe.

                                    NUC10i3, Proxmox, VM Ubuntu iobroker, lxc ubuntu influxdb, grafana, lxc ubuntu SAE, lxc ubuntu MotionEye, WP Panasonic Jeisha 5kW mit Heishamon, Shelly 2.5 und 2pm Rolladensteuerung, OpenWB Wallbox

                                    1 Antwort Letzte Antwort
                                    1
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    983

                                    Online

                                    32.4k

                                    Benutzer

                                    81.5k

                                    Themen

                                    1.3m

                                    Beiträge
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Anmelden

                                    • Du hast noch kein Konto? Registrieren

                                    • Anmelden oder registrieren, um zu suchen
                                    • Erster Beitrag
                                      Letzter Beitrag
                                    0
                                    • Home
                                    • Aktuell
                                    • Tags
                                    • Ungelesen 0
                                    • Kategorien
                                    • Unreplied
                                    • Beliebt
                                    • GitHub
                                    • Docu
                                    • Hilfe