Navigation

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

    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

    • Profile
    • Following 0
    • Followers 0
    • Topics 14
    • Posts 64
    • Best 1
    • Groups 1

    Norwegen60

    @Norwegen60

    0
    Reputation
    24
    Profile views
    64
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Norwegen60 Follow
    Starter

    Best posts made by Norwegen60

    • RE: Test Adapter bshb (Bosch Smart Home) v0.0.x

      @kruemelmonster Ich mache es mit den vis-material-advanced - ListWindowShutter.
      Die haben nur ein Nachteil. Das Bild für komplett geöffnet fehlt und damit zeigt er bei geöffnetem Rolladen ein fehlendes Bild an. Rückmeldung hier im Forum ob das Bild nachinstalliert werden kann war, dass das nur der Ersteller der Komponenten kann
      dBdtnQHgjP.png

      posted in Tester
      Norwegen60
      Norwegen60

    Latest posts made by Norwegen60

    • RE: Ansteuerung einer Balboa Poolsteuerung

      @michihorn Eigentlich hatte ich ja schon in der Fritzbox geschaut. Ich habe den Pool ausgeschalten und gemeint, dass ja eine Verbindung weg fallen sollte. Tat sie aber nicht.
      Nachdem dein Screen beim Pool nicht WLAN sondern LAN anzeigt hat, habe ich es noch mal probiert und mir das gesamte Netzwerk angeschaut. Zum Glück habe ich diesmal auch länger gewartet und nach ca. 90s war auch eine Verbindung weg. Nämlich die hier.
      a35d7d93-870f-4f8f-9920-7184ec730aac-image.png
      Korrekte IP in der Konfigurationsdatei eingetragen (Änderung im Hombdrige Tab hat nicht gereicht)
      2ecb8a8a-af83-4cdd-847c-c0a58b0a8462-image.png
      Und danach waren die Eigenschaften in HAM-Object zu sehen
      e734dd99-9671-4272-ac66-ffcdeb11f524-image.png
      Jetzt werde ich mal schauen, wie zuverlässig das Object arbeitet.
      Hier eine Zusammenfassung der letztlich erforderlichen Schritte

      • Balboa so einrichten, dass mit der Balboa-App "Local Connect" funktioniert. (Das war bei mir ein Gefrickel da Verbindung immer wieder abbrach obwohl ich direkt neben dem Pool saß. Letztlich habe ich sogar die Verblendung am Pool abgenommen.)
      • Danach IP des Balboa emitteln
      • In ioBroker Hombridge-Adapter (HAM) installieren
      • In der HAM-Instanz folgende Angaben eingeben
        44aa8820-26f7-4332-81bf-973da27a905b-image.png
      • Und in der Konfigurationsdatei das
        04430855-26e6-4c48-b76b-5c0254f5176b-image.png

      Eigentlich sollte das Einrichten des Balboa-Moduls auch über den Hombridge-Tabulator möglich sein, aber das hat bei mir ziemlich gehakelt.

      Danach sollten in den Objekten die Eigenschaften des Pool verfügbar sein

      posted in ioBroker Allgemein
      Norwegen60
      Norwegen60
    • RE: Ansteuerung einer Balboa Poolsteuerung

      Nach mehr als eine Jahr Pause, das Ding hat mich genervt (ich habe die alte Version 1), habe ich jetzt einen neuen Versuch gestartet den Balboa an ioBroker anzubinden. Nach gefühlt unendlichen Versuchen läuft jetzt die Balboa-App einigermaßen stabil. Mir gings wie anderen. Ich saß direkt neben dem Pool und trotzdem gabs immer wieder Verbindings-Abbrüche. Auch jetzt kommt manchmal eine Latency-Meldung.
      Grundsätzlich kann ich aber mit "Local Connect" auf die Poolsteuerung zugreifen
      Dann habe ich den HAM-Adapter installiert. Auch ein gefrickle, denn auf dem Homebridge Tabulatore wurde nur graue Felder angezeigt wenn ich nach balboa gesucht habe
      ff0a7517-345a-40be-834d-d105f7f6be65-image.png

      Nach diesem Eintrag direkt in der Instanz
      1a8bf504-7fa5-4adb-a99f-d295a2917d7e-image.png
      wurde Treiber im Tab dann als installiert angezeigt
      20eee9ba-8f0c-4a4c-a8d4-af2303e929a5-image.png

      Iregendwo hatte ich geshen, dass wenn die IP leer bleibt, diese automatisch gesucht wird. Ich sehe aber bei den Objecten nur den HAM order. Der aber ist leer
      35648a0d-88f9-4ca0-a253-a33ac9f595c0-image.png
      Was mach ich falsch bzw. wie komme ich an die IP. Seit der Pool per APP connected ist, taucht er in der Netzwerkliste nicht mehr auf. Auch nicht in der FritzBox

      PS: Paralle bin ich auch mit der Steuerung per Shelly weiter. Die Temperatursensoren sind aber keine PT100. Bei den Balboa-Sensoren sinkt der Widerstand mit steigender Temperatur. Wenn ich aber über beide Sensoren je ein 38kOhm Widerstand lege, zeigt die Anzeige statt 10° 35° an und so kann ich ihm vorgaukeln, dass die Temperatur erreicht ist. Wenn er wirklich heizen soll (genug Sonne von der Solar da), könnte ich dann die Parallewiderstände abhängen und er heizt normal. Und wenn die 10° unterschritten werden, würde er auch heizen. Frostgefahr ist also auch gewährt. Wenn ich jetzt noch einen Ort finde, in dem ich einen Shelly-Temp-Fühler ins Wasser hängen kann, habe ich sogar immer die Temperatur. Nicht nur, wenn er im Heizmode ist.

      posted in ioBroker Allgemein
      Norwegen60
      Norwegen60
    • RE: (gelöst) SQL Abfrage als Function in einem javascript

      OK, ich habe es selbst herausbekommen. Die Hürden waren

      • nicht genau zu wissen, wie bei JavaScript function und deren Parameter funktionieren
      • die Erkenntnis, dass bei SQL die Ergebnisse zeitverzögert zurück kommen. Wenn man in der Function das Ergebnis als result zurück gegeben hat, hat der Wert im Log nie gestimmt. Die Suche warum die Werte nie gestimmt haben, hat einiges an Zeit verschlungen

      Ich habe es deshalb wie folgt realisiert. Der Einfacheit halber verwende ich die Funktion um Jahresergebnisse zu liefern. Da muss nicht Jahr/Monat verschlüsselt werden (Monatsabfrage steht ja schon im vorigen Post)

      function GetEnergyYear(ID, Year, DataPoint, DataPointCurrent = '')
      {  let ValueCurrent = 0;
         let sSQL1 = 'use ioBroker DECLARE @ID int = ' +String(ID) +', @Year int ='+String(Year);
         let sSQL2 = 'select max(val) from ts_number where ((id = @ID) and (year(DATEADD(s, ts/1000, \'1970-01-01\')) = year(getdate())-@Year-1)) or (id = 0)';
         let sSQL =sSQL1 + ' select max(val) -(' + sSQL2 +') from ts_number where ((id = @ID) and (year(DATEADD(s, ts/1000, \'1970-01-01\')) = year(getdate())-@Year)) or (id = 0)'; 
         
        
        sendTo('sql.0', 'query', sSQL, async (result) =>{ 
           setState(DataPoint , getAttr((getAttr(result, 'result')[0]), ''), true);
         });
       
        // Wenn Korrekturwert (aktueller Tages-Wert) mit übergeben wurde, diesen zum Wert addieren 
        // Hier muss man wissen, dass immer nur der Endwert eines jeden Tages abliegt.
        // Der Stand des aktuellen Tages fehlt also. Der kann per DataPointCurrent übergeben und hinzuaddiert werden
        if (String(DataPointCurrent) != '') {
          ValueCurrent = getState(DataPointCurrent).val;
          if (Logging) {console.log('###2: ValueCurrent = ' + String(ValueCurrent))};
          setState(DataPoint /* rEnergyRateDay */, (getState(DataPoint).val + ValueCurrent), true);
        };
       
        if (Logging) {console.log('###2: '+ String(DataPoint) + ' = ' + String(getState(DataPoint).val))};
      }
      
       // #############################################################################################################################
      // alle 2 Minute aktuelle Monatsverbräuche berechnen
      schedule('{"time":{"start":"00:00","end":"24:00","interval":2,"mode":"minutes"},"period":{"days":1}}', async () => {
        console.log(('### Verbrauch aktueller Monat ###'));
        
        // Und so erfolgt die Abfrage. 88 und 100 sind die Datapoint ID des Tagesendwertes
        GetEnergyYear(88,0,'0_userdata.0.PV.rPV_Energy_RateYear','0_userdata.0.PV.rPV_Energy_Day');
        GetEnergyYear(88,1,'0_userdata.0.PV.rPV_Energy_RateYearBefore');  // der benötigt keine Korrektur da ja alle Tage abgelegt sind
        GetEnergyYear(100,0,'0_userdata.0.PV.rUsed_Energy_RateYear','0_userdata.0.PV.rUsed_Energy_Day');
        GetEnergyYear(100,1,'0_userdata.0.PV.rUsed_Energy_RateYearBefore');
      });
      

      Kann sein, dass es einfacher geht, aber so funktioniert es

      Grüße
      Gerd

      posted in JavaScript
      Norwegen60
      Norwegen60
    • RE: Test Adapter bshb (Bosch Smart Home) v0.0.x

      @kruemelmonster Ich mache es mit den vis-material-advanced - ListWindowShutter.
      Die haben nur ein Nachteil. Das Bild für komplett geöffnet fehlt und damit zeigt er bei geöffnetem Rolladen ein fehlendes Bild an. Rückmeldung hier im Forum ob das Bild nachinstalliert werden kann war, dass das nur der Ersteller der Komponenten kann
      dBdtnQHgjP.png

      posted in Tester
      Norwegen60
      Norwegen60
    • (gelöst) SQL Abfrage als Function in einem javascript

      Hallo zusammen,

      ich sammle für verschiedene Datenpunkte immer um Mitternacht die aktuellen Zählerständ

      Mit folgendem Script kann ich mir dann z.B. den Verbrauch des letzten Monats berechnen und anzeigen lassen

         sendTo('sql.0', 'query', 'use ioBroker DECLARE @ID int = 63, @Month int = 2 select max(val) -(select max(val) from ts_number where ((id = @ID) and (year(DATEADD(s, ts/1000, \'1970-01-01\'))*12+month(DATEADD(s, ts/1000, \'1970-01-01\')) = year(getdate())*12+month(getdate())-@Month)) or (id = 0)) from ts_number where ((id = @ID) and (year(DATEADD(s, ts/1000, \'1970-01-01\'))*12+month(DATEADD(s, ts/1000, \'1970-01-01\')) = year(getdate())*12+month(getdate())-@Month+1)) or (id = 0)', async (result) => {
          setState('0_userdata.0.Power.Pool.rEnergyRateMonthBefore' /* rEnergyRateMonth */, getAttr((getAttr(result, 'result')[0]), ''), true);
        });
       console.log(('Pool.rEnergyRateMonthBefore = ' + String(getState('0_userdata.0.Power.Pool.rEnergyRateMonthBefore').val)));
      
      

      Dieses lange SQL ist nur schwer les- und pflegbar. Ich benötige es aber x mal (1x für jeden Datenpunkt und dann nochmal zur Berechnung des Vormonats, ...). Gibt es eine Möglichkeit, das SQL mit den Variablen @ID, @Month in irgendeiner Weise per Java-Funktion zusammenzustellen oder ausführen zu lassen.

      In MsSQL könnte das folgenderweise aussehen

      DECLARE @ID int = 59, @Month int = 1
      select max(val) -(
        select max(val) 
        from ts_number 
        where ((id = @ID) and (year(DATEADD(s, ts/1000, '1970-01-01'))*12+month(DATEADD(s, ts/1000, '1970-01-01')) = year(getdate())*12+month(getdate())-@Month)) or (id = 0))
      from ts_number 
      where ((id = @ID) and (year(DATEADD(s, ts/1000, '1970-01-01'))*12+month(DATEADD(s, ts/1000, '1970-01-01')) = year(getdate())*12+month(getdate())-@Month+1)) or (id = 0)
      

      d.h über die Variable @ID lege ich fest, welcher Datenpunkt berechnet werden soll und über @Month welcher Monat (1=aktueller Monat, 2 = Vormonat, ...)

      posted in JavaScript
      Norwegen60
      Norwegen60
    • RE: (gelöst) SQL per Blockly, Ergebnis einem Datenpunkt zuordnen

      @paul53 So, mit leichter Verzögerung das Feedback. Es hat geklappt. Hier das gesamte Blockly mit einigen Debugs. result und liste sind dabei Variablen (für etwaige Anfänger wie mich, die zuerst mal suchen, wo denn result her kommt
      244cf27f-6fb0-4c31-a01d-248206a1a483-grafik.png

      Und hier das optimierte Blockly
      5168cf9d-f97f-492e-ad6f-9f7d17edf7db-grafik.png

      Vielen dank noch

      posted in Einsteigerfragen
      Norwegen60
      Norwegen60
    • RE: (gelöst) SQL per Blockly, Ergebnis einem Datenpunkt zuordnen

      @paul53 Ich komme leider nicht weiter. Da ich den "Attribut vom Object" noch nicht kenne, habe ich versucht den Vorschlag zu zerlegen und muss feststellen, dass schon der "JSON nach Objekt" nicht das liefert, was ich erwartet hätte.
      33118ef8-3ae4-453c-a18f-8227c4372599-grafik.png
      Was mach ich falsch?

      posted in Einsteigerfragen
      Norwegen60
      Norwegen60
    • (gelöst) SQL per Blockly, Ergebnis einem Datenpunkt zuordnen

      Ich habe folgende SQL-Abfrage erstellt und bekomme wie gewünscht einen einzelnen Wert als Antwort.
      037e2d1d-f37b-4222-8185-0944fda4671a-grafik.png
      Jetzt hänge ich aber daran, diese Zahl 27.6747 einem Datenpunkt zuzuordnen.

      posted in Einsteigerfragen
      Norwegen60
      Norwegen60
    • RE: NOUS Steckdose vergisst total gemessenen Stromverbrauch

      @paul53 Jetzt ist doch noch mal eine Frage aufgetaucht.
      Wozu wird die Variable "kWh" benötigt. Ich habe es mal so ausprobiert, incl. ausstecken des Shelly PlugS und damit Start von 0 und es hat funktioniert

      291b94d7-6e6b-418e-b5dd-2fae0228f3d3-grafik.png

      posted in Hardware
      Norwegen60
      Norwegen60
    • RE: NOUS Steckdose vergisst total gemessenen Stromverbrauch

      @paul53 said in NOUS Steckdose vergisst total gemessenen Stromverbrauch:

      Nein, Datenpunkt-Zustände werden regelmäßig in einer Datei gespeichert, die bei Start von ioBroker eingelesen wird

      Das ist eine sehr hilfreiche Information. Danke.

      posted in Hardware
      Norwegen60
      Norwegen60
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo