Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. babl

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    B
    • Profile
    • Following 3
    • Followers 3
    • Topics 35
    • Posts 653
    • Best 43
    • Groups 2

    babl

    @babl

    Starter

    52
    Reputation
    81
    Profile views
    653
    Posts
    3
    Followers
    3
    Following
    Joined Last Online

    babl Follow
    Pro Starter

    Best posts made by babl

    • Hausspeicher laden, dynamisch, tibberlink, Scripte

      Überarbeitete Version, leichter zum Installieren, weniger Adapter nötig usw.
      findet ihr hier.

      https://forum.iobroker.net/topic/79071/neues-script-hausspeicher-energiemanager-sonnen

      Hallo zusammen, ich habe mich mal hingesetzt und hoffe ein vernünftiges Script entwickelt zu haben um den Hausspeicher über Tibber nach verschiedenen Gegebenheiten laden zu lassen in Abhängigkeit der Grundlast und der Beladedauer, dafür würde ich nun Tester suchen die sich an meiner Entwicklung beteiligen, ich würde mich freuen über einen gemeinsamen Austausch, Discussion und natürlich Verbesserungen.

      Es sind einiges an Blocklys zusammengekommen, ich versuche es hier so gut wie möglich alles zu beschreiben.

      Ich bitte euch, nach dem fertigeinrichten, erstmal den Datenpunkt der die Batterie steuert erst mal mit history zu loggen um zu sehen ob alles so paßt wie du dir das vorstellst, ich gehe mal davon aus, daß es zu dem ein oder anderen Fehler kommen wird.

      Bei mir läuft es aktuell seit dieser Woche und hatte die Batterie nun 2 mal geladen, das auch zu den günstigsten Preisen bei Tibber.

      Was ihr definitv braucht ist der Tibberlink Adapter (danke an @hombach) für die Erstellung des Adapters, da die anderen beiden leider nicht mehr weiterentwickelt werden.

      Ihr müßt die gleichen Datenpunkte verwenden wie ich, sonst funktioniert es nicht. Ich habe versucht die benötigten Datenpunkte erstellen zu lassen, aber leider bei 2 Datenpunkten muß man die dazugehörigen Aliase erstellen. Näheres erfolgt in der Beschreibung weiter unten.

      Ich sage es gleich, für die "Cracks" unter euch werden die Scripte wahrscheinlich nur laienhaft wirken, aber es hat mir Spaß gemacht und wenn es dann auch klappt dann bin ich zufrieden. Es hat doch auch massig viel Arbeit gemacht bis es so lief wie es jetzt läuft. Also vielleicht über den ein oder anderen Fehler einfach lächeln und nicht gleich "meckern". Jeder muss es lernen und das kann man nur mit "Learning bei Doing".

      Legen wir los.

      posted in Skripten / Logik
      B
      babl
    • RE: Hausspeicher laden, dynamisch, tibberlink, Scripte

      So ich habe mich mal hingesetzt und anhand des PV Forecast Adapters und dem "Das Wetter" Adapter ein Javascript geschrieben, daß anhand der Bewölkung die PV Forecast optimiert. Bei 100% Bewölkung habe ich einen Korrekturfaktor von 0.2 angenommen.

      Da ich bei mir viel mit Nebel zu kämpfen habe liegen die PV Vorhersage Adapter alle weit weit weg vom eigentlichen Ertrag, heute wurden 10 vorausgesagt aktuell sind wir bei 2.5, gestern waren es laut voraussage 15 das optimierte kam auf 10.4, reell waren es 10,2. Vielleicht kann es ja irgendjemand brauchen, es werden nur 2 Werte generiert, Summe today und summe tomorrow.

      const minOutputFactor = 0.2; // Mindestprozentsatz an Leistung bei 100% Wolkenbedeckung
      
      // Funktion zur Erstellung von Datenpunkten, falls sie noch nicht existieren
      function createStateIfNotExists(id, initialValue, callback) {
          if (!existsState(id)) {
              createState(id, initialValue, { type: 'number', unit: 'kWh', read: true, write: true }, callback);
          } else {
              callback();
          }
      }
      
      // Funktion zur Berechnung und Anpassung der PV-Forecasts basierend auf Wolkenbedeckungswerten
      function calculatePvForecast() {
          try {
              console.log('--- Sofortige Berechnung der PV Forecasts beim Skriptstart ---');
      
              let totalAdjustedPvToday = 0;
              let totalAdjustedPvTomorrow = 0;
      
              // Berechnung für heute (Stunden 5 bis 21)
              for (let hour = 5; hour <= 21; hour++) {
                  const hourString = hour.toString().padStart(2, '0');
                  const pvForecastToday = getState(`pvforecast.0.summary.energy.hoursToday.${hourString}:00:00`).val;
                  const cloudsToday = getState(`daswetter.0.NextHours.Location_1.Day_1.Hour_${hour}.clouds_value`).val;
      
                  const adjustedPvToday = (pvForecastToday * Math.max(minOutputFactor, (1 - cloudsToday / 100))).toFixed(2);
                  totalAdjustedPvToday += parseFloat(adjustedPvToday);
                  console.log(`Heute, Stunde ${hour}: Wolkenbedeckung = ${cloudsToday}%, Originaler PV-Wert = ${pvForecastToday} kWh, Angepasster PV-Wert = ${adjustedPvToday} kWh`);
              }
      
              // Speicherung des Gesamtwertes für heute
              createStateIfNotExists("0_userdata.0.PV-Forecast-optimiert.Heute_Gesamt", 0, () => {
                  setState(`0_userdata.0.PV-Forecast-optimiert.Heute_Gesamt`, parseFloat(totalAdjustedPvToday.toFixed(2)));
                  console.log(`Gesamter angepasster PV-Wert für heute: ${totalAdjustedPvToday.toFixed(2)} kWh`);
              });
      
              // Berechnung für morgen (Stunden 5 bis 21)
              for (let hour = 5; hour <= 21; hour++) {
                  const hourString = hour.toString().padStart(2, '0');
                  const pvForecastTomorrow = getState(`pvforecast.0.summary.energy.hoursTomorrow.${hourString}:00:00`).val;
                  const cloudsTomorrow = getState(`daswetter.0.NextHours.Location_1.Day_2.Hour_${hour}.clouds_value`).val;
      
                  const adjustedPvTomorrow = (pvForecastTomorrow * Math.max(minOutputFactor, (1 - cloudsTomorrow / 100))).toFixed(2);
                  totalAdjustedPvTomorrow += parseFloat(adjustedPvTomorrow);
                  console.log(`Morgen, Stunde ${hour}: Wolkenbedeckung = ${cloudsTomorrow}%, Originaler PV-Wert = ${pvForecastTomorrow} kWh, Angepasster PV-Wert = ${adjustedPvTomorrow} kWh`);
              }
      
              // Speicherung des Gesamtwertes für morgen
              createStateIfNotExists("0_userdata.0.PV-Forecast-optimiert.Morgen_Gesamt", 0, () => {
                  setState(`0_userdata.0.PV-Forecast-optimiert.Morgen_Gesamt`, parseFloat(totalAdjustedPvTomorrow.toFixed(2)));
                  console.log(`Gesamter angepasster PV-Wert für morgen: ${totalAdjustedPvTomorrow.toFixed(2)} kWh`);
              });
      
          } catch (error) {
              console.warn(`Fehler in der calculatePvForecast-Funktion: ${error.message}`);
              console.warn(error.stack);
          }
      }
      
      // Sofortige Ausführung der Berechnung beim Start des Skripts
      calculatePvForecast();
      
      // Geplante Ausführungen zur Aktualisierung der PV-Forecasts
      schedule("5 0 * * *", calculatePvForecast);   // Tägliche Ausführung um 0:05 Uhr
      schedule("5 5 * * *", calculatePvForecast);   // Tägliche Ausführung um 5:05 Uhr
      schedule("5 12 * * *", calculatePvForecast);  // Tägliche Ausführung um 12:05 Uhr
      
      
      posted in Skripten / Logik
      B
      babl
    • RE: [Major Update] SourceAnalytix v0.4.7-beta.0 released !

      @MichMein Ich hoffe für uns alle, daß der Adapter doch weiterentwickelt wird, wäre schade um die tollen Funktionen, und ich hab mich jetzt schon so drauf eingeschossen, wenn auch noch nicht alles hundertprozentig läuft, ich hoffe @Dutchman bleibt da dran.

      posted in Tester
      B
      babl
    • RE: Hausspeicher laden, dynamisch, tibberlink, Scripte

      Das 1. Script ist das Blockly zum Erstellen der Datenpunkte und das Eintragen der Variablen.

      Datenpunkte erzeugen - Screen.jpg

      Zuerst ein mal müssen 2 Datenpunkte als Alias erzeugt werden.
      A:

      1. alias.0.Sonnen.Status.userSoc dies sollte der Alias Datenpunkt sein von eurem AdapterDatenpunkt des Hausspeichers der die Kapazität eures Hausspeichers angibt in Prozent. Also der UserSoc
      2. alias.0.Sonnen.Control.Laden dies sollte der Alias Datenpunkt sein von eurem Hausspeicher Adapter der dir das Laden in Watt ermöglicht. Also Charging = 3000 Watt.

      Bei den Variablen habt ihr folgende Einstellmöglichkeiten:
      B:

      1. Batteriespeicherkapazität in Wh: Also wieviel Nennkwh hat deine Batterie an Kapazität (Sonnenbatterie SB 10 5,5kwh Brutto = 5kwh oder 5000wH Netto)
      2. Beladeleistung in Wh: Mit wieviel Watt möchtest du deine Batterie vom Netz beladen, Achte bitte auf die maximale Ladeleistung was dein Speicher abkann. (SB10 mit 5,5kwH = 3400 Watt)
      3. Wirkungsgrad Hausspeicher: Hier kommt dein Wirkungsgrad deines Hausspeichers rein (Wirkungsgrad = Beladung / Entladung) solltest du das bereits als Datenpunkt ausrechnen dann nimm den Datenpunkt, solltest du es nicht berechnen setze hier die % von denen du ausgehst daß das dein Wirkungsgrad ist. Dieser Wert wird zur Berechnung herangezogen ob es sich überhaupt rentiert den Hausspeicher zu laden, als Beispiel ist der Tibberpreis Max bei 0,3€ und der Mindestpreis bei 0,25€ und der Wirkungsgrad von 70% eingestellt ist dann würde sich es erst rechnen bei einem Mindestpreis von 0,21€ da sonst der Verlust deines Speichers das günstige auffressen würde.
      4. Beladeleistungsfaktor 0-5 und 5-95: Dies ist ein Faktor für die Beladung deines Hausspeichers in diesem Fall 2, was heißt das, du hast eine Beladeleistung von 3000 watt eingestellt und dnun der Faktor 2 ( es wird zwischen den Bereichen des User Socs von 0-5% und 90-95% nur mit 1500 Watt geladen um die Batteriezellen zu schonen. Faktor ist änderbar, genauso wie die Beladeleistung unter Punkt 2
      5. Beladeleistung 95-100 siehe Punkt 4 (750 Watt Ladeleistung ( 3000 durch 4)
      6. Ladeprozente Hausspeicher: hier habe ich die Möglichkeit gegeben den Hausspeicher zwischen 90% und 100% laden zu lassen, das heißt dies wird dann dynamisch ausgerechnet wie lange der Hausspeicher zum laden auf 90% oder auf 100% braucht in Abhängigkeit wie voll er jetzt ist.

      Ich hoffe es einigermaßen gut erklärt zu haben.

      Bitte zuerst den Punkt A erledigen und dann den Punkt B. Das Script dann 1mal starten, somit werden hier die benötigten Datenpunkte angelegt.
      Um das Logging müßt ihr euch selbst kümmern.

      Datenpunkte erstellen.txt

      Als nächsten Punkt solltet ihr den Adapter Tibberlink installieren.

      In den Einstellungen bei Automation müßt ihr folgendes einstellen.

      tibberlink-Channel-Einstellungen.jpg

      bei 1, den Datenpunkt auswählen der mit "beste Kosten" bezeichnet ist, er ist zu finden unter 0_userdata.0.Tibber.Beste_Kosten
      bei 2, das selbe wie unter punkt 1 nur das sind die besten einzelstunden
      das selbe spiel bei 3, das sind die besten stundenblöcke.

      Es sollte nun bei tibberlink unter Calcualtions die Ordner 0/1/2 zu finden sein, die dann diese 3 ausgewählten Datenpunkte steuern, die Datenpunkte von Tibberlink werden dann mit Daten gefüttert aus meinen Scripten.

      posted in Skripten / Logik
      B
      babl
    • RE: Test Adapter TibberConnect 0.0.x inkl. Tibber Pulse

      Tut sich jetzt mit dem Adapter noch irgendwas, sonst wäre es vielleicht ratsam hier die Community um die Weiterentwicklung zu bitten. Müsste ja aktuell eigentlich von vielen grosses Interesse dran bestehen.

      posted in Tester
      B
      babl
    • RE: [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

      @apollon77

      perfekt geklappt, mußte nur beim zigbee einen manuellen rebuild machen, alles andere lief perfekt und bisher schaut alles gut aus, danke für die ausführliche Erklärung. 👍

      posted in ioBroker Allgemein
      B
      babl
    • RE: js-controller 6.0.x jetzt für alle User im STABLE!

      Update über SSH auf den 6.0.9 gemacht, anschliessend gleich noch das nodejs nachgezogen auf die version 20.16.0, dann neu gestartet, bisher keine aufälligkeiten.

      Danke

      posted in ioBroker Allgemein
      B
      babl
    • RE: [Linux Shell-Skript] WLAN-Wetterstation

      @sborg danke 2.05 läuft

      posted in Praktische Anwendungen (Showcase)
      B
      babl
    • RE: [Major Update] SourceAnalytix v0.4.7-beta.0 released !

      @dos1973 das kommt auf deine datenpunkte drauf an, wenn du z.b. kwh datenpunkte hast solltest du auch kwh einstellen.

      posted in Tester
      B
      babl
    • RE: Tool für Beladung Elektroautos über PV Strom

      @lesiflo sagte in Tool für Beladung Elektroautos über PV Strom:

      @babl Ja geht auch mit dem go-e. Habe selbst zwei davon, aber leider noch kein E-Auto, kommt erst im Juni (hoffentlich). Beschreibung folgt demnächst.

      ok, danke habe auch noch keins, aber seit letzter woche den fertig installierten go - e bei mir kommt es erst nächstes jahr aber man muß vorbereitet sein und die förderung wollte ich mitnehmen 🙂

      posted in Entwicklung
      B
      babl

    Latest posts made by babl

    • RE: Zigbee Netzwerk Problem

      @asgothian ja die aktuellste firmware ist drauf siehe oben das bild es gibt keine andere

      type:ConBee2/RaspBee2
      
      version:0-0.38.120.0.
      
      revision:0x26780700
      
      port:/dev/ttyACM0
      
      channel:11
      

      habe ich schon geschaut, im wlan netzwerk hat sich bei mir nichts geändert, da ich meinen wlan geräten den kanal vorgebe wlan Kanal 11,

      im Zigbee habe ich auch Kanal 11 das sollte ja nach deinem Bild passen.

      Des weiteren sind in der Umgebung (nachbarn) keine weiteren Störquellen dazugekommen.

      Wie gesagt ohne irgendwelche Änderungen lief es jetzt fast 4 Jahre einbahnfrei bis auf die letzten 4 Tage.

      posted in Hardware
      B
      babl
    • RE: Zigbee Netzwerk Problem

      @asgothian das ist aber nicht toll, aber naja hilft ja nichts, so ist das auch nichts. Danke euch

      posted in Hardware
      B
      babl
    • RE: Zigbee Netzwerk Problem

      @asgothian aktuell habe ich 2.05 und die erweiterte Pan ID ist DDDDDDDDDDDDDDDD Pan ID 6754

      posted in Hardware
      B
      babl
    • RE: Zigbee Netzwerk Problem

      @haselchen ich habe aber da noch nie was geändert, welche Baudrate ist denn dann für den COnbee II richtig?

      posted in Hardware
      B
      babl
    • Zigbee Netzwerk Problem

      Hallo zusammen,

      habe seit 4 Tagen riesen Probleme mit meinem Zigbee Netzwerk. jeden Tag muß ich so 8 - 10 Geräte wieder rekoppeln, da sie nicht mehr verfügbar sind. Ich glaube mein Conbee II hat irgendwas abgekriegt, denn in der Netzwerkkarte sind ganz miese Verbindungen sichtbar. Auch die stromgetriebenen Geräte sind teilweise nicht mehr erreichbar, Mein System lief jetzt ca. 4 Jahre ohne größere Probleme Aktuell Adapter Version 2.05.

      Coordinator ist der Conbee II an einer 50cm langen Verlängerung

      Zigbee Coordinator

      type:ConBee2/RaspBee2
      version:0-0.38.120.0.
      revision:0x26780700
      port:/dev/ttyACM0
      channel:11
      

      44 Geräte sind aktuell angelernt, seit ca. 1 Jahr wurde jetzt an dem Zigbee Netzwerk nichts mehr gemacht auch kein neues Gerät dazugekommen. Wie gesagt es lief hervorragend.

      Mein System Iobroker in einer Proxmox VM
      Plattform: linux
      RAM: 9.7 GB
      Node.js: v22.18.0(22.19.0)
      NPM: 10.9.3

      Zigbee Netzwerk.png

      Habe mir jetzt den SONOFF Zigbee 3.0 USB Dongle Plus,Zigbee Gateway TI CC2652P + CP2102N Zigbee USB bestellt da man nur gutes liest darüber und der Conbee II soll angeblich für neuere Versionen nicht mehr unterstützt werden. Nun bräuchte ich eure Hilfe.

      1. Wie kann ich mich retten bis übermorgen daß es einigermaßen läuft bis der Neue Stick kommt.

      2. Wie bekomme ich den neuen Stick an mein System, ohne vollumfänglich alle Geräte wieder neu anlernen zu müssen (wenn es nciht geht dann hilft es halt nichts)

      3. Aktuell würde mir die Version 3.05 des Adapters angeboten werden, soll ich warten oder die testen mit dem alten Stick?

      Danke im Voraus für eure Hilfe.

      posted in Hardware
      B
      babl
    • RE: Wir empfehlen: Node.js 22.x

      Node JS Update auf 22.18.0 und NPM 10.9.3 erfolgreich, bisher keine Auffälligkeiten zu beobachten. Danke euch

      posted in ioBroker Allgemein
      B
      babl
    • RE: Upgrade von Debian 12 'Bookworm' auf Debian 13 'Trixie'

      Update auf Debian Trixie single Host erfolgreich, danke für die genaue Beschreibung.

      posted in Pflege des Betriebssystems
      B
      babl
    • RE: [Linux Shell-Skript] WLAN-Wetterstation

      @sborg 3.5.0 ist installiert, fehlerfrei bis jetzt

      statistikscript v2.07 ebenfalls installiert, bisher fehlerfrei, alles andere ob die Fehler nun nach Mitternacht weg sind, schreibe ich dir die nächsten Tage.

      Update: Fehler sind weg

      P.S.

      Danke für deine Arbeit.

      Gruß

      posted in Praktische Anwendungen (Showcase)
      B
      babl
    • RE: [Linux Shell-Skript] WLAN-Wetterstation

      @sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:

      @babl sagte in [Linux Shell-Skript] WLAN-Wetterstation:

      Heute habe ich wieder komische Fehlermeldungen im Log.

      Heute 01:03 	error 	javascript.0 	at processTicksAndRejections (node:internal/process/task_queues:95:5)
      Heute 01:03 	error 	javascript.0 	at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1228:38
      Heute 01:03 	error 	javascript.0 	Statistik:639:27)
      Heute 01:03 	error 	javascript.0 	Error in callback: TypeError: Cannot read properties of null (reading '0')
      

      Das muß vom Statistik Script herkommen, vielleicht hast du mal zeit und schaust drüber. Danke

      An alle Statistik-Skript Nutzer:

      Auch hier erkennt er wohl wie er will. Der Datenpunkt-Inhalt [neue Version des Statistik-Skripts vorhanden?] ist ein String ("---" oder die GitHub-URL). Den Datenpunkt auf "gemischt" umstellen, dann ist Ruhe und die Fehlermeldung im Log ist weg:

      Bild 001.png

      Habe auch den Datenpunkt auf gemischt umgestellt,

      Fehlermeldung kommt trotzdem noch.

      Heute 01:03 	error 	javascript.0 	[2 Einträge] at processTicksAndRejections (node:internal/process/task_queues:95:5)
      Heute 01:03 	error 	javascript.0 	[2 Einträge] at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1228:38
      Heute 01:03 	error 	javascript.0 	[2 Einträge] Statistik:639:27)
      Heute 01:03 	error 	javascript.0 	[2 Einträge] Error in callback: TypeError: Cannot read properties of null (reading '0')
      

      Gruß

      posted in Praktische Anwendungen (Showcase)
      B
      babl
    • RE: [Linux Shell-Skript] WLAN-Wetterstation

      Heute habe ich wieder komische Fehlermeldungen im Log.

      Heute 01:03 	error 	javascript.0 	at processTicksAndRejections (node:internal/process/task_queues:95:5)
      Heute 01:03 	error 	javascript.0 	at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1228:38
      Heute 01:03 	error 	javascript.0 	Statistik:639:27)
      Heute 01:03 	error 	javascript.0 	Error in callback: TypeError: Cannot read properties of null (reading '0')
      

      Das muß vom Statistik Script herkommen, vielleicht hast du mal zeit und schaust drüber. Danke

      posted in Praktische Anwendungen (Showcase)
      B
      babl
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo