Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    S
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 2
    • Best 0
    • Groups 0

    stealthdux

    @stealthdux

    0
    Reputation
    6
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    stealthdux Follow

    Latest posts made by stealthdux

    • RE: Aqualink Pool Automation in iobroker integrieren

      Zodiac EXO iQ Account direkt vom Hersteller HTTPS API page auslesen und via Iobroker javascript an Yahka an EVE übergeben.

      
      // Parameter
      var server      = 'prod.zodiac-io.com';         // Zodiac Server
      var id          = 'JT20xxxxxxxx';                 // S/N of Zodiac EXO IQ LS
      var email       = 'a.b@c.de';
      var password    = 'xxxxxxxxxx';
      var api_key     = 'EOOEMOW4YR6QNB11'; 
      //var api_key     = 'EOOEMOW4YR6QNB07';          // https://discourse.nodered.org/t/iaqualink-for-pool-equipment/29689
      
      // Global
      createState("iAquaLink.Pool.Temperatur", {name: 'Pool Temperatur', unit: '°C'});
      createState("iAquaLink.Pool.PH", {name: 'Pool PH', unit: ''});
      createState("iAquaLink.Pool.ORP",{name: 'Redox ORP', unit: 'mV'});
      createState("iAquaLink.EXO.RSSI",{name: 'EXO WiFi Signal', unit: 'db'});
      
      function iAquaLinkLoop () {
          var body_sent = JSON.stringify( { 'api_key': api_key, 'email': email, 'password': password });
          var al_headers = { 'Content-Type': 'application/json',
                              'accept': 'application/json',
                              'user-agent': 'okhttp/3.12.0',
                              'Host': server,
                              //'accept-encoding': 'gzip' 
                          };
      
          // Authenticate and get IdToken
          var request = require('request');
          var optionspost = {
              url: 'https://' + server + '/users/v1/login',
              method: 'POST',
              //minVersion: 'TLSv1',
              //maxVersion: 'TLSv1.2',
              headers: al_headers,
              form: body_sent
          };
          //log('Start Logging Server: ' + server);
      
      
          request(optionspost,function (error, response, body){
              //log('Request Status: ' + response.statusCode);
              var obj = JSON.parse(body);
              var token = obj.userPoolOAuth.IdToken;
              //log(response.statusCode + ' Token: '+ obj.userPoolOAuth.IdToken);
      
               // Get Values from iAquaLink
              var getrequest = require('request');
              var optionsget = {
                  url: 'https://' + server + '/devices/v1/' + id + '/shadow',
                  method: 'GET',
                  headers: { al_headers, 'Authorization': token }
              };
              getrequest(optionsget,function (error, response, body){
                  log('Code_statusCode: ' + response.statusCode);
                  const obj = JSON.parse(body);
                  var pool_temp = obj.state.reported.equipment.swc_0.sns_3.value;
                  var pool_orp  = obj.state.reported.equipment.swc_0.sns_2.value;
                  var pool_ph   = (obj.state.reported.equipment.swc_0.sns_1.value)/10;
                  var exo_rssi  = obj.state.reported.debug.RSSI;
      
                  setState("iAquaLink.Pool.Temperatur", pool_temp);
                  setState("iAquaLink.Pool.ORP", pool_orp);
                  setState("iAquaLink.Pool.PH", pool_ph);
                  setState("iAquaLink.EXO.RSSI", exo_rssi);
                  log('PoolTemperatur common: '+ pool_temp + ' PH: ' + pool_ph + ' ORP: '+ pool_orp );
              })
          });
      }
      
      schedule("*/5 * * * *", iAquaLinkLoop);  // CRONJob
      
      
      posted in Entwicklung
      S
      stealthdux
    • RE: Aqualink Pool Automation in iobroker integrieren

      Habe letztes Jahr ein Zodiac EXO IQ LS verbaut - hat mich einfach geärgert, das die iAquaLink App einwandfrei funktioniert aber ich die Werte nicht in meinem HomeKit habe.

      Das Projekt: https://github.com/sfeakes/AqualinkD scheint mir zu aufwendig wg. dem direkten IO Interface RS485 am Zodiac.

      Es gibt einen Web-API, deren Doku ich nicht gefunden habe, konnte aber die Server+URL tcpdumpen mit Hilfe der APP.

      Nach zwei Tagen habe ich es nun endlich geschafft, Zodiacs iAquaLink Info zu meinem EXO via HTTPS durch javascript auszulesen und im IOBrocker via Yahka in meine EVE App zu bringen.

      Leider scheint das nicht richtig zu funktionieren den PH und ORP Wert samt Einheit ins HomeKit zu bringen, das gibt es anscheindend keine passenden Templates.

      posted in Entwicklung
      S
      stealthdux
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo