Navigation

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

    NEWS

    • Monatsrückblick – September 2025

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

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

    R
    • Profile
    • Following 0
    • Followers 1
    • Topics 2
    • Posts 143
    • Best 16
    • Groups 3

    ronny130286

    @ronny130286

    Starter

    20
    Reputation
    30
    Profile views
    143
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    ronny130286 Follow
    Developer Pro Starter

    Best posts made by ronny130286

    • Test Adapter AnkerSolix2
      Aktuelle Test Version 2.0.0
      Hier Adapter Beschreibung, Changelog etc. Aktuelle Test Version 2.0.0
      Veröffentlichungsdatum 09.03.2025
      Github Link https://github.com/ronny130286/ioBroker.ankersolix2

      Adapter integriert die Daten aus der Anker Solix App. Ich kann leider immer noch für die Anker Solix 2 Pro sprechen, da ich nur diese als Hardware zur Verfügung haben. Es sollte sich allerdings auch andere Anker Geräte auslesen lassen.

      Da es sich nicht um eine richtige API handelt, sondern lediglich eine simulierte Android App, habe ich mich vorerst entschlossen nur lesenden Zugriff zu nutzen.

      Bitte verwendet einen Familie Account.

      Hinweis: Wer bereits 1.1.0 installiert hatte, bitte noch einmal das Passwort neu eingeben, da es jetzt verschlüsselt ist.

      posted in Tester
      R
      ronny130286
    • RE: Anker Adapter

      Hallo,

      ich wollte den Adapter eigentlich noch vorstellen, hatte aber bis jetzt nicht so richtig Zeit 🙂

      @Holger76
      Ja das Problem kommt daher, dass du dich in der App wieder eingeloggt und den gleichen Account nutzt, damit nutzt du aktuelle unterschiedliche Token mit einem Account und das geht nicht.
      Das ist auch mit Vorsicht zu genießen, weil du auf diese Art und Weise auch deinen Account sperren werden kann (man bekommt nur eine bestimmt Anzahl an Token pro Tag , danach ist der Account für xx Stunden gesperrt, keine Sorge der wird wieder freigegeben).
      Bitte leg dir einen Familie-Account und füge diese deinem Main Account hinzu.

      Ich würde dir empfehlen, nachdem du den Account erstellst hast, die session.data zu löschen, diese liegt im Normalfall unter /opt/iobroker/iobroker-data/ankersolix2/

      posted in Entwicklung
      R
      ronny130286
    • RE: SONOFF NSPanel mit Lovelace UI

      Gibt es eigentlich eine Möglichkeit einen Monobutton (true/false) einzubinden?
      Weil es steht immer noch oben in der Beschreibung:

      Taste               - Für Szenen oder Radiosender, etc. --> Nur Funktionsaufruf - Kein Taster wie MonoButton - True/False
      

      Dann ist mir noch ein kleiner Bug im Script aufgefallen, die Funktion vom Display Update ignoriert die eigentlich Version des Displays.
      Ich habe mehrere Panels im Einsatz unter anderem auch die US-L Version, leider zerknallt er dann immer die Software auf dem Display 😞
      Kann man die Abfrage nicht noch zusätzlich einpflegen, dass auch wirklich nur die Software genommen wird welche das Panel auch benötigt?

      Edit:
      habe die Funktion mal angepasst:

      function update_tft_firmware() {
          const tft_version: string = 'v3.8.1';
          let desired_display_firmware_url =""
      
          if(getState(NSPanel_Path + '.NSPanel_Version').val =="us-l"){
              desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-us-l-${tft_version}.tft`;
          }else if (getState(NSPanel_Path + '.NSPanel_Version').val =="us-p"){
              desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-us-p-${tft_version}.tft`;
          }else{
              desired_display_firmware_url = `http://nspanel.pky.eu/lovelace-ui/github/nspanel-${tft_version}.tft`;
          }
          
          try {
      
              let urlString = `http://${get_current_tasmota_ip_address()}/cm?cmnd=FlashNextion ${desired_display_firmware_url}`;
              if (tasmota_web_admin_password != '') {
                  urlString = `http://${get_current_tasmota_ip_address()}/cm?user=${tasmota_web_admin_user}&password=${tasmota_web_admin_password}&cmnd=FlashNextion ${desired_display_firmware_url}`;
              }
      
              request({
                  url: `${urlString}`,
                  headers: {
                      'User-Agent': 'ioBroker'
                  }
              }, async function () {
                  await createStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.StateCommon>{ type: 'string' });
                  await setStateAsync(NSPanel_Path + 'TFT_Firmware.onlineVersion', <iobJS.State>{ val: tft_version, ack: true });
              });
          } catch (err) {
              console.warn('error at function update_tft_firmware: ' + err.message);
          }
      }
      
      posted in Hardware
      R
      ronny130286
    • RE: Node-Red funktioniert nicht über das IoBroker Menü

      @UncleSam

      Mixed Content: The page at 'https://XXXXX:xxxx/#tab-node-red-0' was loaded over HTTPS, but requested an insecure frame 'http://XXXXX:xxxx/?instance=0'. This request has been blocked; the content must be served over HTTPS.
      

      würde ja bedeuten das der Link im Menü falsch ist, weil mit http und der IP komme ich nicht in Node-Red ich muss definitv Https verwenden.

      EDIT:
      Ach wie schlecht ist das denn => ich habe den Browser Cache nochmal geleert und jetzt geht es 🤦‍♂️

      posted in ioBroker Allgemein
      R
      ronny130286
    • RE: Anker Adapter

      @solardach
      Vielen Dank für die Rückmelde 🙂

      @spoeh-man
      ich werde die im nächsten Release die Abfrage Intervalle etwas größerer ziehen, da man momentan "nur" eine Range von 10-180sek hat

      posted in Entwicklung
      R
      ronny130286
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar

      Die Funktion für den Monobutton war damals so

      function triggerButton(id: string): boolean{
      	try {
      		let obj = getObject(id);
      		if (existsState(id) && obj.common.type !== undefined && obj.common.type === "boolean") {
      			setState(id, true);
      			setTimeout(function() { setState(id, false) }, 250)
      			return true;
      		}
      		return false;
      	}  catch (err) {
              console.warn('function triggerButton: ' + err.message);
          }	
      }
      

      Man muss aber etwas mehr machen weil man separat einen Status dem Alias hinzufügen muss der dann den Status des Lichts wieder gibt.
      Dummerweise habe ich damals nicht alles den Version hinterher gezogen.

      posted in Hardware
      R
      ronny130286
    • RE: Anker Adapter

      @smarthomer-0

      Auf Github habe ich schon eine Version hochgeladen, dort wird der Folder energyanalysis "reorganisiert".
      Der DP, den du zeigst, kommt vom Grid (Netz) der allerdings schon in der Response leider leer, jedoch hat man die Option sich die engeryanalysis von der Solix selbst zu holen und dort ist der Wert dann befüllt.

      Beispiel von meinem System (Solix 2 Pro)
      Unbenannt.png

      Ich werde die Tage noch einen neuen Release machen.

      posted in Entwicklung
      R
      ronny130286
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar
      ne ist auch nicht gut, aber ich habe glaube ne schöne Lösung gefunden:

      if (existsState(pageItem.id + '.GET')) {
                      val = getState(pageItem.id + '.GET').val;
                      RegisterEntityWatcher(pageItem.id + '.GET');
                  }
                  if(pageItem.monobutton != undefined && pageItem.monobutton == true){
                     if (existsState(pageItem.id + '.ACTUAL')) {
                          val = getState(pageItem.id + '.ACTUAL').val;
                          RegisterEntityWatcher(pageItem.id + '.ACTUAL');
                      }
                  }
                  else{
                      if (existsState(pageItem.id + '.ACTUAL')) {
                          val = getState(pageItem.id + '.ACTUAL').val;
                          RegisterEntityWatcher(pageItem.id + '.ACTUAL');
                      }
                      if (existsState(pageItem.id + '.SET')) {
                          val = getState(pageItem.id + '.SET').val;
                          RegisterEntityWatcher(pageItem.id + '.SET');
                      }
                  }
                  if (existsState(pageItem.id + '.ON_ACTUAL')) {
                      val = getState(pageItem.id + '.ON_ACTUAL').val;
                      RegisterEntityWatcher(pageItem.id + '.ON_ACTUAL');
                  } 
                  if (existsState(pageItem.id + '.ON_SET')) {
                      val = getState(pageItem.id + '.ON_SET').val;
                      RegisterEntityWatcher(pageItem.id + '.ON_SET');
                  }
                  if (existsState(pageItem.id + '.ON')) {
                      val = getState(pageItem.id + '.ON').val;
                      RegisterEntityWatcher(pageItem.id + '.ON');
                  }
      

      Ich verzichte dann im Alias auf den Sonderwert .STATE und nutze .ACTUAL für den Status des Lichts bzw. den SPS Ausgang.
      Somit funktioniert bei mir alle wie es soll. Auch das hin und her hüpfen des Status ist weg und die Icon werden auch richtig angezeigt (beim Mono und beim normalen Schalter)

      20230110-190950_NIBLaJ1R.mp4

      Ich habs auch nochmal im Gridpage getestet, sieht auch gut aus.

      posted in Hardware
      R
      ronny130286
    • RE: Anker Adapter

      @erazorlee

      Ich spiele heute nochmal einen kleinen Patch ein, weil die Solix 3 einen neuen Wert liefert, der als String erkannt wird, allerdings ein bool ist.
      Wenn das alles chic ist, wird es Freitag oder Samstag zur Stable;)

      posted in Entwicklung
      R
      ronny130286
    • RE: SONOFF NSPanel mit Lovelace UI

      @armilar

      ok, na dann lebe ich erstmal damit wie es jetzt ist und hoffe dann auf die Sprungmarke 🙂

      posted in Hardware
      R
      ronny130286

    Latest posts made by ronny130286

    • RE: Anker Adapter

      @volker3-0

      alle Werte unter der Site-ID sind nur Lesewerte, du kannst dort nicht einen einzigen Wert schreiben bzw. bringt dir das nichts, da es die Werte nicht an die Solix übertragen wird.
      Ich habe 2.4 als Beta released, damit kannst du sowas aus dem Adapter heraus realisieren (über einen Zeitplan).

      Ich werde in einem kommenden Update einen Datenpunkt zur Verfügung stellen, wo man die Umschaltung auch über einen extrenen DP machen kann.
      Der wird sich dann unter .control wiederfinden.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      Ich habe mich nochmal schlau gemacht bzgl. der Aktualisierungszeiten und einige Werte die in der Cloud fehlen.
      Es ist scheinbar so, die Anker Cloud wir nur alles x Minuten von Anker aktualisiert.
      Der Adapter greift reinweg die Cloud Daten ab, die App jedoch holt sich scheinbar die Werte via MQTT von der Solarbank selbst ab was dann auch deutlich schneller geht( irgendwas um die 3s ).

      Auch Werte wie Temperatur der Headunit oder der einzelnen Akkupacks, werde über die MQTT Schnittstellen geladen und nur in der App dargestellt (sie werden nicht an die Cloud übertragen).

      Ich habe mir das Projekt mal angesehen, aber brauchbar Werte kommen da bei mir nicht raus, wenn ich die MQTT Schnittstelle der Solix 3 abfrage.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @cinimod

      In der aktuellen Version ist es noch so, dass du dir den DP im AdminUi aussuchen kannst.
      Dieser wird auf Änderung überwacht und dann im benutzerdefinierten Modus an die Solix übergeben (Hinweis: es werden alle benutzerdefinierten Pläne mit einem 24/7 und deinem Powerwert überschrieben)
      Der DP muss ein Nummerwert sein und wichtig bei setzen Ack=True übergeben.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @toralt

      ich hatte mir das in der App angesehen, bei mir war es so, dass nach dem Laden automatisch wieder auf den eingestellten benutzerdefinierten Modus umgestellt wurde wenn er fertig war mit laden oder man das Laden ausgeschalten hat. Wenn du dort natürlich dann 400W eingestellt hattest, stellt er das drauf ein.

      Beim Laden habe ich es so gemacht, das er deinen aktuellen Energieplan holt, dann das Laden drauf editiert und es an die Solarbank übergibt.

      @Volker3-0

      Es ist noch nicht implementiert, aber ich bin dabei einen DP zu machen wo man die Betriebsmodis frei umschalten kann.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @holger76

      Mit der neuen Version auf Github, kannst du das machen.
      Du erstellst einen eigenen Energieplan im Adapter (wie in der App auch) und über die DP ankersolix2.0.control.SetPowerplan kannst du den Powerplan erneut setzen (true + ack).
      Wichtig es darf sich dann dein SteuerDP nicht mehr ändern, weil sonst wird der gesetzte Powerplan vorerst wieder überschrieben.

      Wenn du dann wieder tagsüber den Verbrauch dynamisch regeln willst, änderst du einfach wieder den SteuerDP.

      Dein Script könnte so aussehen:

      • von 06:00 bis 20:00 änderst du den Steuer DP
      • nach 20:00 änderst du den SteuerDP nicht mehr und setzt den ankersolix2.0.control.SetPowerplan einmal auf true/ack, dann übernimmt er wieder den Powerplan, aus dem Adapater
      • 06:00 früh fängt er wieder an den DP zu ändern.
      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @holger76

      Was meinst du genau mit Verweildauer einer Messung?

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @toralt

      Ich habe gestern Abend noch eine commit auf Github gemacht, diese hat den Powerplan und das ACLoading enthalten.
      Wenn du willst kannst du es gern testen (ich kann es noch nicht zu 100% testen).

      @Holger76
      Du könntest den Post einfach editieren 😉
      Aber Kurz erklärt, das mit der Site ist nur verwirrend, weil man denkt man steuert das Geräte selbst, aber technisch gesehen steuert man die Site und nicht das Gerät. Auch wenn du dort das Device (Solarbank) auswählst holt sich der Adapter aus dem String nur die SiteID.
      af1c47cb-7801-49e5-a69f-806b1409bdba-image.png

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @darksoul

      Ja diesen Wert suche ich auch schon länger in den ganzen Requests, aber man kann es leider irgendwie noch nicht abfragen.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @toralt

      Fakt ist, du kannst es so erstmal nicht nutzen, mit dem einfach Steuern, weil der Benutzerdefinierte Modus es aktuell nicht hergibt => das AC Laden wird über separate Parameter gesteuert.

      Bis jetzt sind im Adapter rein gelesene Werte enthalten in den DP anzeigt, mit dem Einzug des einfachen Steuerns gibst du nur eine DP an der überwacht wird auf Änderungen.
      Ändert sich der angegeben DP, dann nimmt der Adapter diese Wert, gleich ihn noch gegen max. legale Einspeisung ab (in Dt max. 800W) und übergibt es mit diesem JSON an die Anker Cloud:

      {
          "mode_type": 3,
          "custom_rate_plan": [{
                  "index": 0,
                  "week": [0, 1, 2, 3, 4, 5, 6],
                  "ranges": [{
                          "start_time": "00:00",
                          "end_time": "24:00",
                          "power": 400 // Hier wäre dein Steuerwert aus dem ausgewählten DP
                      }
                  ]
              }
          ],
          "blend_plan": null,
          "default_home_load": 200,
          "max_load": 800,
          "min_load": 0,
          "step": 10
      }
      
      

      Hier mal noch ein komplettes JSON mit Kommentaren, was man übergeben kann.

      {
          "mode_type": 1, => das ist der Modus: 1 = Eigenverbrauch, 3 = Benutzerdefiniert.... die andern müsste ich mir erst noch ansehen.
          "custom_rate_plan": [{ // => Hier wird der Benutzerdefinierte Plan eingestellt.
                  "index": 0, // => Index des Parametersatzes
                  "week": [0, 1],  // =>  Wochentage vom Benutzerdefiniert
                  "ranges": [{
                          "start_time": "00:00",  // => Startzeit
                          "end_time": "01:00", // =>  Endzeit
                          "power": 200  // =>  Leistung
                      }
                  ]
              }, {
                  "index": 1,
                  "week": [2, 3, 5, 6],  // =>  Wochentage vom Benutzerdefiniert
                  "ranges": [{
                          "start_time": "00:00",  // =>  Startzeit
                          "end_time": "06:00",  // =>  Endzeit
                          "power": 450  // => Leistung
                      }, {
                          "start_time": "06:00", // =>  Startzeit
                          "end_time": "23:00",  // =>  Endzeit
                          "power": 200 // => Leistung
                      }
                  ]
              }
          ],
          "blend_plan": null,
          "use_time": [],
          "manual_backup": { // => Hiermit wird die AC Einspeisung gemacht
              "ranges": [{
                      "start_time": 1755611760, // => Startzeit in Millisekunden
                      "end_time": 1755618960 // => Endzeit in Millisekunden
                  }
              ],
              "switch": true // => gibt den Schalter an ob an/aus
          },
          "reserved_soc": 5,// => theoretisch die Reserve des Akkus, findet aber scheinbar keine Anwendung
          "dynamic_price": null,
          "ai_ems": {
              "enable": false,
              "status": 3
          },
          "time_slot": null,
          "schedule_mode": null,
          "default_home_load": 200,
          "max_load": 800, // => max. Einspeisung => wird jedoch aus anderen Parametern gebildet 
          "min_load": 0,
          "step": 10 // => Sollten die Steps sein die man einstellen kann
      }
      

      Der Parameter "manual_backup" ist aktuell im Adapter immer Null bzw. wir gar nicht angegeben, deshalb würde er das AC Laden auch nicht einschalten.

      Gib mir mal noch 1-2 Tage dann versuche ich das AC Laden umzusetzen.

      posted in Entwicklung
      R
      ronny130286
    • RE: Anker Adapter

      @toralt

      Also würde eigentlich wie von mir beschrieben erstmal reichen, eine DP zu erzeugen der den Betriebsmodus umstellen auf Noteinspeisung?

      posted in Entwicklung
      R
      ronny130286
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo