Navigation

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

    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

    H
    • Profile
    • Following 0
    • Followers 2
    • Topics 8
    • Posts 238
    • Best 42
    • Groups 3

    hacki11

    @hacki11

    Starter

    51
    Reputation
    146
    Profile views
    238
    Posts
    2
    Followers
    0
    Following
    Joined Last Online

    hacki11 Follow
    Developer Pro Starter

    Best posts made by hacki11

    • RE: Pool Temperatur

      Ich hab genau das für den Vor- und Rücklauf meiner Wärmepumpe gemacht. Am besten hast du irgendwo ein PVC-U Rohr, damit du die Sensoren sauber einbauen kannst.

      • ESP8266 z.B. D1 Mini Clone (am besten gleich 3 oder 5 kaufen, kann man immer brauchen)
      • 2x DS18B20 50-70mm (Digitaler Temperaturfühler)
      • 2x Tauchhülse Edelstahl 50x6mm G1/2"
      • 2x Anbohrschelle für 50x1/2"
      • Micro-USB Netzteil
      • Lötkolben
      • Als Gehäuse tuts eine Aufputzdose
        max. 60€ inkl. Versandkosten

      Mit EspHome ist die Konfiguration der beiden Sensoren inkl. MQTT und OTA innerhalb 5 Minuten erledigt.
      Sogar DeepSleep kommt mit - ich habe eine Messung jede Minute, dazwischen schläft der ESP und verbraucht nahezu keinen Strom.

      6958794F-4C60-430C-B712-D0D416D309EC.JPG

      F5F261DE-93B0-44FA-9319-23EAA1762945.JPG

      9F631453-E568-4EC5-AB9F-D4503C54D7A3.JPG
      IMG_4434.jpg

      IMG_4436.jpg

      IMG_4437.jpg

      25aa17a3-6c86-4bda-91af-34d551d0ece0-image.png

      Hier noch eine Anleitung die mir geholfen hat:
      https://www.az-delivery.de/blogs/azdelivery-blog-fur-arduino-und-raspberry-pi/smarte-steuerung-fuer-den-swimmingpool-2-4

      posted in Hardware
      H
      hacki11
    • RE: [Idee] ioBroker Widgets auf iPhone mittels Scriptable App

      Hier ist mein Proof of Concept:
      https://gist.github.com/hacki11/70665ef90312eadad492459ce6102cf8

      1. Manuell den Datenpunkt "0_userdata.0.ioswidget" anlegen
      2. Widget im native Bereich konfigurieren (ein Widget pro Datenpunkt):
      "native": {
          "widget": {
            "name": "energy",
            "elements": [
              {
                "summary": "Gasverbrauch",
                "value": "sourceanalytix.0.mqtt__0__gas__value.currentYear.consumed.01_currentDay"
              },
              {
                "summary": "Stromverbrauch",
                "value": "sourceanalytix.0.mqtt__0__power__counter.currentYear.consumed.01_currentDay"
              }
            ]
          }
        },
      
      1. Script in Scriptable einfügen und im Widget den Hostnamen konfigurieren

      2. Ständig die aktuellen Werte im Blick haben
        711d102f-c3ff-4deb-8b9d-ad1865270ebf-grafik.png

      Konzept:

      • Pro gewünschtem Widget wird ein Datenpunkt angelegt und konfiguriert
      • Ein Script in Scriptable, welches jedoch mehrfach als Widget konfiguriert werden kann
      • Als Argument muss dann noch der Name des Datenpunktes übergeben werden können
      • Größe des Widgets ggf. in Konfiguration hinterlegen

      Es gäbe noch viel zu tun

      • Aktuell gehen nur Zahlen und es wird auf eine Nachkommastelle getrimmt
      • Farben
      • Schriftgrößen
      • Abstände
      • Small, Medium, Large Widget Support
      • Fontstyles
      • Bin kein Designer, hier wäre einiges mögilch - aber UI/UX ist nicht mein Fachgebiet
      • Themes wären auch möglich
      • ioBroker Adapter zur grafischen Unterstützung der Konfiguration

      Alles könnte über die Konfiguration abgedeckt werden und man muss das Script nur einmalig aufs Target bringen.

      Ich finds immer noch MEGA, dass das alles relativ einfach und straight forward mit ioBroker umzusetzen ist.
      Je nachdem wie weit man dieses Thema treiben möchte, bräuchte man aber auch entsprechend Kapa dafür.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Test Adapter mhi-wfrac v2.1.x GitHub

      v2.1.2 ist nun im offiziellen Latest Repository.

      Da bei ein paar Objekten seit 2.1.1 noch Roles und Enum-Namen geändert wurden, sollte man zuvor manuell die einzelnen Geräte aus dem Objektbaum löschen. Die Namen der Objekte wurde nicht verändert, d.h. die Referenzen aus Visualisierungen sollten weiterhin funktionieren. Sollten jedoch Einstellungen direkt in den Objekten vorgenommen worden sein, wie z.B. History, Sourceanalytix, InfluxDB, dann müssen diese erneut konfiguriert werden.

      Next: Going Stable!
      fyi @saeft_2003 @MrLarodos

      posted in Tester
      H
      hacki11
    • RE: invalid pattern

      @mcm57
      Absolut, dass ist auch der Grund für die grundlegende Änderung auf Nummern. Wenn ich jetzt nur die Forbidden Chars ersetze (bzw. Nur erlaubte zulasse) wird das für alle Parameter des Adapters bei allen User ein Breaking Change, da in jedem Parameter solch ein Zeichen ist. Deshalb mache ich dafür kein Update sondern gehe direkt den Weg alle Ids einmalig auf Nummern umzustellen. Ein Breaking Change ist unumgänglich aber zwei mache ich nicht.
      Natürlich kann ich dann auch auf gültige IDs gemäß deinem Vorschlag prüfen.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      Hallo zusammen, ich kümmere mich gerade darum, den Adapter in das offizielle Repository zu bekommen. Hierzu habe ich ein paar Änderungen vornehmen müssen. Z.B. Adaptername, Statenames und Rollen, auf die neue JSON UI migriert und Abhängikeiten aktualisiert. Zudem habe ich eine Multi-Device Unterstützung integriert, damit man nicht pro Innengerät einen eigenen Adapter braucht.

      Pull Request für Latest Repository ist in Review, sobald es drin ist und ein paar Leute es laufen haben ist ein Pull Request für stable möglich.
      Adapter: https://github.com/hacki11/ioBroker.mhi-wfrac
      Latest PR: https://github.com/ioBroker/ioBroker.repositories/pull/4613

      hacki11 created this issue in ioBroker/ioBroker.repositories

      closed Add mhi-wfrac to latest #4613

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      Im main ist nun bereit für euch:

      • "online" Datenpunkt pro Innengerät
      • Erster Versuch einer Retry Logik um die stündlichen Fehlermeldungen zu vermeiden. (Gut möglich, dass man hier noch am Timing was drehen muss. Ich weiß gerade nicht wie lange ein Reboot des WF-RAC Moduls im IG dauert)
      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @mrlarodos Danke für den Test und euer Feedback. Hier der PR, ich warte nur drauf, dass er akzeptiert wird. Dann muss man wohl nochmal 2 Wochen auf Stable warten. Mal sehen, ob die letzten zwei Wochen angerechnet werden können. https://github.com/ioBroker/ioBroker.repositories/pull/4613#issuecomment-2726565128

      hacki11 created this issue in ioBroker/ioBroker.repositories

      closed Add mhi-wfrac to latest #4613

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Newbie fragen zu vis in iobroker

      @mabbi Gerne, bin nicht sicher was du mit „Release-fähig“meinst aber du findest den Adapter bereits seit geraumer Zeit auch im stable Repo.

      posted in Visualisierung
      H
      hacki11
    • [Aufruf] ValloxMV Adapter

      Hallo zusammen,

      ich habe einen Adapter für Vallox Lüftungsanlagen erstellt.
      Würde mich über ein paar Tester freuen, damit wir das ganze stable bekommen.

      Es sind die wichtigsten Metriken sowie die Profile einstellbar.
      Falls etwas fehlt, einfach Feedback geben.

      Installieren über Admin panel (valloxmv) und IP Adresse konfigurieren.
      https://github.com/hacki11/ioBroker.valloxmv

      Viele Grüße

      posted in Tester
      H
      hacki11
    • RE: [gelöst] Blockly Skript wenn PV liefert Strom Klimaanlage an.

      Meine Variante als JavaScript:

      • Glättung zur Unterstützung von kurzeitigen Wolkenstand (alpha abhängig von Zykluszeit der Leistungsdaten)
      • Mindestlaufzeit der Pumpe
      • Reine Überschussregelng für Wärmepumpe
      • Notifications bei Zustandsänderung
      • Manuelle Steuerung bei Bedarf

      Vielleicht hilfts wem, läuft jetzt seit ein paar Wochen sehr gut.
      Sonnige Tage:
      5e4ee7e9-2b8d-4a5b-b185-962b3aa1d9cd-image.png

      Viele Wolken:
      4320229a-d17c-406c-922e-77ad344965a3-image.png

      // Übrige Leistung
      const Grid = 'fronius.0.powerflow.P_Grid';
      
      // Wärmepumpe
      const WP_SwitchID = 'shelly.0.SHSW-PM#68C63AFAF6BC#1.Relay0.Switch';
      const WP_Consumption = 1500;
      const WP_Hysteresis = 1000;
      
      // Pumpe
      const P_SwitchID = 'shelly.0.SHSW-PM#68C63AFAF893#1.Relay0.Switch';
      // Leistung der Pumpe
      const P_Consumption = 250;
      const P_Hysteresis = 100;
      // Minuten am Tag, die sie mindestens laufen muss
      const P_MinimumRuntime = 7*60
      // Stunde wann sie frühestens starten soll
      const P_MinStartTime = 9;
      // Betriebsstundenzähler der Pumpe
      const P_RuntimeID = 'hm-rpc.1.CUX9001001.1.TIME_ON_SUM';
      
      // Variablen zum Speichern der Infos, dadurch kann man das Skript auch neustarten
      const P_RuntimeStartTimeID = 'javascript.0.variables.PumpeStartTime';
      const P_StartDayID = 'javascript.0.variables.PumpeStartDay';
      // Variable für Glättung der Leistung
      const GridEMAID = 'javascript.0.variables.P_Grid_EMA'
      
      // Schalter um in den manuellen Modus zu wechseln
      const Override_SwitchID = 'hm-rpc.1.CUX2801005.1.STATE';
      
      // Notifications zum Handy
      const PushObject = getIdByName('pocketControlPushMessage', true)[0];
      
      function push(msg) {
          log(msg);
          setState(PushObject, msg);
      }
      
      var ema_grid_init = false;
      var ema_grid = 0;
      var alpha = 0.05;
      
      function calcExponentialMovingAverage(accumulator, new_value, alpha) {
        	const new_avg = (alpha * new_value) + (1.0 - alpha) * accumulator;
          return Math.round(new_avg * 100)/100;
      };
      
      on({id: Grid, change: 'any'}, (obj) => {
      
          // Use last average as starting value if script was restarted
          if(!ema_grid_init) {
              ema_grid_init = true;
              ema_grid = getState(GridEMAID).val;
          } else {
              ema_grid = calcExponentialMovingAverage(ema_grid, obj.state.val, alpha);
              setState(GridEMAID, ema_grid);
          }
          const grid = ema_grid;
          
          // Check if Manual Mode is enabled
          if(getState(Override_SwitchID).val) {
              return;
          }
      
          // Begin at minimumstarttime
          if(new Date().getHours() < P_MinStartTime) {
              return;
          }
      
          if(grid + P_Consumption + P_Hysteresis < 0) {
              if(startPumpe()) {
                  push("[POOL] Pumpe EIN (" + grid + ")")
              }
          } else if(grid > 0) {
              if(stopPumpe()) {
                  push("[POOL] Pumpe AUS (" + grid + ")");
              }
          }
      
          if (grid + WP_Consumption + WP_Hysteresis < 0) {
              if(startWP()) {
                  push("[POOL] Wärmepumpe EIN (" + grid + ")");
              }
      
          } else if (grid > 0) {
              if(stopWP()) {
                  push("[POOL] Wärmepumpe AUS (" + grid + ")");
              }
          }
      });
      
      function startWP() {
          const wpState = getState(WP_SwitchID).val;
          if(wpState) {
              // already running
              return false;
          }
           // if Pumpe is stopped, return
          const pState = getState(P_SwitchID).val;
          if(!pState) {
              push("[POOL] Wärmepumpe kann nicht gestartet werden, Pumpe läuft nicht");
              return false;
          }
      
          setState(WP_SwitchID, true);
          return true;
      }
      
      function stopWP() { 
      
          const wpState = getState(WP_SwitchID).val
          if(!wpState) {
              return false;
          }
      
          setState(WP_SwitchID, false);
          return true;
      }
      
      function updateStartInfo() {
          // check if it is the first time of the day we start the pumpe and store runtime infos
          const lastStartDay = getState(P_StartDayID).val;
          const currentDay = new Date().getDate();
          if(lastStartDay !== currentDay) {
              push("[POOL] Speichere Start Info für heute");
              setState(P_StartDayID, currentDay);
              setState(P_RuntimeStartTimeID, getState(P_RuntimeID).val)
          }
      }
      
      function startPumpe() {
      
          updateStartInfo();
          // already started
          const pState = getState(P_SwitchID).val
          if(pState) {
              return false;
          }
      
          // starte Pumpe
          setState(P_SwitchID, true);
          return true;
      }
      
      function stopPumpe() {
      
          // if Pumpe already stopped, return
          const pState = getState(P_SwitchID).val
          if(!pState) {
              return false;
          }
      
          // when WP is running, do not stop the pump
          const wpStatus = getState(WP_SwitchID).val;
          if(wpStatus) {
              //push("[POOL] Pumpe kann nicht gestoppt werden, WP läuft noch");
              return false;
          }
      
          // check if minimum runtime has exceeded
          const runtime = getState(P_RuntimeID).val - getState(P_RuntimeStartTimeID).val;
          if(runtime < P_MinimumRuntime) {
              //push("[POOL] Pumpe hat Mindestlaufzeit noch nicht erreicht:" + runtime + "min/" + P_MinimumRuntime + "min");
              return false;
          }
      
          // WP not running, but pump is
          setState(P_SwitchID, false);
          return true;
      }
      
      
      posted in Blockly
      H
      hacki11

    Latest posts made by hacki11

    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @iobroker2001 Du hast eine Klimaanlage von Mitsubishi Electric, versuchs mal mit https://github.com/Black-Thunder/ioBroker.melcloud

      Hier gehts um den Hersteller Mitsubishi Heavy Industries mit WF-RAC Wifi Modul.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Github MHI-AC-CTRL wie auf ESP8266 "installieren"?

      Spannend sind die zusätzlichen Datenpunkte wie Kompressorfrequenz, Leistungsaufnahme, Temperaturen aus dem Kältekreis, etc.
      Self clean findet man hier aber scheinbar auch nicht

      posted in Off Topic
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @integer63 Auch hier leider keine Antwort: https://community.home-assistant.io/t/mitsubishi-heavy-self-clean-operation-in-home-assistant/862458

      Da es die App aktuell nicht kann, wird es schwer zu prüfen ob es über die WF-RAC überhaupt geht geschweige denn, wie man es dann ansteuert. Ein Remote IR Sender, der das Signal der FB emuliert stelle ich mir auch nicht gerade praktisch vor aber aktuell wohl die einzige bekannte Möglichkeit.

      Laut https://github.com/absalom-muc/MHI-AC-Trace/blob/main/SPI.md gibt es noch ein paar Bytes im Protokoll, dessen Bedeutung bisher nicht bekannt sind. Es kann gut sein, dass ein Bit davon auch die Steuerung von Self-Clean ermöglicht. Er beschreibt wie man sich in den Bus einhängen kann, bzw. welches Equipment man benötigt.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Github MHI-AC-CTRL wie auf ESP8266 "installieren"?

      Hier gibt’s das ganze auch auf Basis von ESPHome, denk das wär viel einfacher zum Laufen zu bekommen.

      https://github.com/ginkage/MHI-AC-Ctrl-ESPHome

      posted in Off Topic
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      https://github.com/absalom-muc/MHI-AC-Ctrl

      Man könnte das WF-RAC rauswerfen und einen eigenen ESP8266 mit obiger Firmware reinhängen. Läuft dann via SPI zum Gerät und liefert via MQTT. Wer basteln will kann’s ja mal versuchen. Den iobroker Adapter braucht man dann nicht mehr.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @mrlarodos Ausfälle/Stunde < 1 ist quasi „normal“. Büro bekommst quasi nicht besser. Ich hatte echt noch kein WLAN Device was derart fragil im Netz zu sein scheint.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @saeft_2003 Hier meine WLAN Config für meine IOT Devices. Ziemlich alles aus dafür scheinbar recht verträglich mit allen Geräten.
      a45ff981-9e0a-4edd-a104-ec67244df5cf-image.png

      @MrLarodos Gute Besserung!

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @mabbi sagte in Mitsubishi Heavy Industries Split Klimaanlage:

      BTW...habt Ihr eigentlich auch komische readouts der Sensoren der Klimaalage selbst ?
      Indoor ist einfach völig falsch (kann man ja nachvollziehen, weil die unter der Decke hängen und auch selber warm werden denke ich) aber auch Outdoor ist voll daneben. Da zeigen die beiden Aussengeäte, obwohl Sie nebeneinander an der Wand hängen, gerne mal 10+ Grad Differenz an oder auch mal Phantasiewerte wie 38° im April, obwohl die im Schatten geschützt unter dem Dachüberhang montiert sind ?
      Ich benutze Shellys mit Add-On für Sensoren, die sind ziemlich gut.

      Die Innentemperatursensoren sind nur während dem Betrieb aussagekräftig. Ohne Luftzirkulation erwärmt das WLAN Modul durch die eigene Abwärme nur die dem Sensor umgebende Luft.

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Mitsubishi Heavy Industries Split Klimaanlage

      @saeft_2003 Hier nicht wirklich, habe aber auch nicht die Probleme, die ihr beobachtet.
      Unifi zeigt ganz schön die Wifi Disconnects:
      6a2d88a6-9375-417b-a013-8dd53a84d312-image.png

      posted in ioBroker Allgemein
      H
      hacki11
    • RE: Test Adapter mhi-wfrac v2.1.x GitHub

      @mabbi Namings wurden angepasst. Orientiert habe ich mich an anderen iobroker Klima Adaptern. Zumal „inOperation“ fragestellenden Character hat (getter) was auch eher read-only wäre vom Gedanken. Ist aber eben ein read-write Objekt, daher passte das nicht. Power ist sehr geläufig für das ein- und ausschalten von Geräten daher fiel die Wahl darauf. Operation kann man auch gerne mit dem Betriebsmodus verwechseln. Da ist Power eindeutiger. Am Ende ist Naming aber auch ein sehr subjektives Thema.

      posted in Tester
      H
      hacki11
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo