Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Daikin-Cloud 0.4.0

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

Test Adapter Daikin-Cloud 0.4.0

Geplant Angeheftet Gesperrt Verschoben Tester
274 Beiträge 39 Kommentatoren 58.9k Aufrufe 41 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kredar

    @armilar sagte in Test Adapter Daikin-Cloud 0.4.0:

    /* TypeScript (TS) @Armilar
    *

    • This Script will read the consumption Data from Daikin-Cloud adapter and transform the raw data into individual data points similar to how it's shown in the Daikin Onecta App.
    • It will also sum up the historic consumption from the current and previous year and update the total consumption meter going forward.
    • The data is created in the following path analogous to the daikin cloud data
    • 0_userdata.0.daikin-cloud.0...
    • Createtd: 14.11.2024
      */

    // Log-Mode
    const logMode: any = 'info'; // 'info' or 'debug'
    // Path in 0_userdata
    const mainPath: string = '0_userdata.0.';
    // Onnecta hours (if d-raw)
    const hourly: Array<string> = ["00:00 - 02:00", "02:00 - 04:00", "04:00 - 06:00", "06:00 - 08:00", "08:00 - 10:00", "10:00 - 12:00", "12:00 - 14:00", "14:00 - 16:00", "16:00 - 18:00", "18:00 - 20:00", "20:00 - 22:00", "22:00 - 24:00"];
    // Onnecta weekdays (if w-raw)
    const daily: Array<string> = ["01_Monday", "02_Tuesday", "03_Wednesday", "04_Thursday", "05_Friday", "06_Saturday", "07_Sunday"];
    // Onnecta months (if m-raw)
    const monthly: Array<string> = ["01_Januray", "02_February", "03_March", "04_April", "05_May", "06_June", "07_July", "08_August", "09_September", "10_October", "11_November", "12_December"];

    let devices: string[] = getDeviceNames("daikin-cloud.");

    function setOrCreateState(id: string, value: any, forceCreation: boolean = true, common: Partial<iobJS.StateCommon> = {}, callback?: iobJS.SetStateCallback): void {
    if (!existsState(id)) {
    createState(id, value, forceCreation, common, callback);
    } else {
    setState(id, value, true);
    }
    }

    // Get Daikin Device Names
    function getDeviceNames(vAdapterInstance: string): string[] {
    let devices = [];
    $(vAdapterInstance + '*raw').each(function (id) {
    if (devices.indexOf(id) == -1) {
    devices.push(id);
    }
    });
    return devices;
    }

    async function writeConsumtionData(path: string, rawType: string, rawData: number[]): Promise<void> {
    log(rawType + ' - ' + rawData, logMode);
    let total: number = 0;
    switch (rawType) {
    case "d-raw":
    for (let j = 0; j < 12; j++) {
    let dpName = "Yesterday." + hourly[j];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: hourly[j], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.Yesterday', total, true, {type: 'number', name: 'Yesterday', role: 'value.power',unit: 'kWh'});
    total = 0;
    for (let j = 12; j < 24; j++) {
    let dpName = "Today." + hourly[j-12];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: hourly[j-12], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.Today', total, true, {type: 'number', name: 'Today', role: 'value.power',unit: 'kWh'});
    break;
    case "w-raw":
    for (let j = 0; j < 7; j++) {
    let dpName = "LastWeek." + daily[j];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: daily[j], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.LastWeek', total, true, {type: 'number', name: 'LastWeek', role: 'value.power',unit: 'kWh'});
    total = 0;
    for (let j = 7; j < 14; j++) {
    let dpName = "ThisWeek." + daily[j-7];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: daily[j-7], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.ThisWeek', total, true, {type: 'number', name: 'ThisWeek', role: 'value.power',unit: 'kWh'});
    break;
    case "m-raw":
    for (let j = 0; j < 12; j++) {
    let dpName = "LastYear." + monthly[j];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: monthly[j], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.LastYear', total, true, {type: 'number', name: 'LastYear', role: 'value.power',unit: 'kWh'});
    total = 0;
    for (let j = 12; j < 24; j++) {
    let dpName = "ThisYear." + monthly[j-12];
    setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: monthly[j-12], role: 'value.power', unit: 'kWh'});
    log(mainPath + path + dpName + ': ' + rawData[j], logMode);
    total = total + rawData[j];
    }
    setOrCreateState(mainPath + path + 'Total.ThisYear', total, true, {type: 'number', name: 'ThisYear', role: 'value.power',unit: 'kWh'});
    break;
    }
    }

    async function readConsumtionData(): Promise<void> {
    for (let i = 0; i < devices.length; i++) {
    //get d-raw; w-raw; m-raw
    let dev: any = devices[i].split('.');
    let state = getState(devices[i]).val;
    state = state.slice(1,-1);
    state = state.replaceAll('null', '0');
    await writeConsumtionData(devices[i].slice(0,-5), dev[dev.length -1], Array.from(state.split(','), Number));
    }
    }
    readConsumtionData();

    on({ id: [].concat(Array.prototype.slice.apply($('daikin-cloud.*.lastUpdateReceived'))), change: 'any' }, async (obj) => {
    await readConsumtionData();
    });

    Super da ist ja auch meine Klimaanlage von Daikin drinnen :) Läuft 1a. Danke für das überarbeite Script. Merci

    L Offline
    L Offline
    Lemmi
    schrieb am zuletzt editiert von Lemmi
    #213

    @kredar
    Problem gelöst!!! Ich bin auch ein kleines dummerchen. Habe die ganze Zeit versucht unter Javaskript das Ding ans laufen zu bringen. Kann ja auch nicht klappen denn es steht doch deutlich geschrieben "TypeScript (TS)" anlegen. Das richtige Skript angelegt und alles reingeschmissen. Siehe da, es funzt.
    Vielen Dank an @kredar

    K 1 Antwort Letzte Antwort
    0
    • L Lemmi

      @kredar
      Problem gelöst!!! Ich bin auch ein kleines dummerchen. Habe die ganze Zeit versucht unter Javaskript das Ding ans laufen zu bringen. Kann ja auch nicht klappen denn es steht doch deutlich geschrieben "TypeScript (TS)" anlegen. Das richtige Skript angelegt und alles reingeschmissen. Siehe da, es funzt.
      Vielen Dank an @kredar

      K Offline
      K Offline
      Kredar
      schrieb am zuletzt editiert von
      #214

      @lemmi

      steht ja auch da, TS Script :)

      Super wenn es nun geht ;)

      1 Antwort Letzte Antwort
      0
      • apollon77A apollon77
        Aktuelle Test Version 0.4.0
        Veröffentlichungsdatum 04.07.2024
        Github Link https://github.com/Apollon77/ioBroker.daikin-cloud

        Sooo, siehe https://github.com/Apollon77/ioBroker.daikin-cloud/issues/215#issuecomment-2208891591

        Erste Testversion auf GitHub.

        • Install von GitHub https://github.com/Apollon77/ioBroker.daikin-cloud
        • Erster Start sollte eine Fehlemeldung zeigen das man sich einloggen soll
        • Admin UI aufrufen, ABER eine Admin-Instanz mit aktiviertem HTTPS!! Und nicht per localhost/127.0.0.1 aufrufen!
        • Anleitung im Admin Ui befolgen
        • 2024-07-04 14.56.49.jpg

        Danach bitte testen.

        ACHTUNG: Die neue API hat eine Limitierung auf 200 Anfragen pro Tag! Daher ist das Standard Abfrageinterval 15 Minuten und man kann einen Slow Polling interval (zb Nachts) per State aktivieren.

        Bitte Feedback geben

        Dokumentation, Texte und Übersetzung ist noch "WIP"

        H Online
        H Online
        Hofmann IOBRF
        schrieb am zuletzt editiert von Hofmann IOBRF
        #215

        @apollon77 Die Verbindung zur Cloud hat nun einige Zeit gut funktioniert.
        Heute Morgen hatte ich einen "Error on update (1): expected 200 OK, got: 500 Internal Server Error" Fehler.
        Danach ging gar nichts mehr.
        Die Daikin Status Seite meldet keinen Fehler.
        Also habe ich die App gelöscht und neu angelegt.
        Ohne Erfolg.
        Nach dem Zugriff bestätigen bekomme ich die Fehlermeldung "Error on OAuth process: OPError: invalid_grant (invalid authorization code)"

        Hat noch wer aktuell Probleme damit?

        Jetzt meldet auch die Daikin Status Seite meldet Fehler!

        Geht jetzt wieder!
        Die Cloud ist halt einfach nicht sehr stabil!

        nik82N 1 Antwort Letzte Antwort
        0
        • H Hofmann IOBRF

          @apollon77 Die Verbindung zur Cloud hat nun einige Zeit gut funktioniert.
          Heute Morgen hatte ich einen "Error on update (1): expected 200 OK, got: 500 Internal Server Error" Fehler.
          Danach ging gar nichts mehr.
          Die Daikin Status Seite meldet keinen Fehler.
          Also habe ich die App gelöscht und neu angelegt.
          Ohne Erfolg.
          Nach dem Zugriff bestätigen bekomme ich die Fehlermeldung "Error on OAuth process: OPError: invalid_grant (invalid authorization code)"

          Hat noch wer aktuell Probleme damit?

          Jetzt meldet auch die Daikin Status Seite meldet Fehler!

          Geht jetzt wieder!
          Die Cloud ist halt einfach nicht sehr stabil!

          nik82N Offline
          nik82N Offline
          nik82
          Most Active
          schrieb am zuletzt editiert von
          #216

          @hofmann-iobrf
          Kam bei mir auch, ich musste nur wieder authentifizieren:

          1b0fed87-2559-4519-973b-ee32f9518ed9-image.png

          Und jetzt gehts wieder...

          G 1 Antwort Letzte Antwort
          0
          • nik82N nik82

            @hofmann-iobrf
            Kam bei mir auch, ich musste nur wieder authentifizieren:

            1b0fed87-2559-4519-973b-ee32f9518ed9-image.png

            Und jetzt gehts wieder...

            G Offline
            G Offline
            Gismoh
            schrieb am zuletzt editiert von
            #217

            @nik82
            War bei mir ebenso, auch der App Zugriff war gestört.
            War bei Daikin auch bekannt, und hatten dran gearbeitet.

            Mit der neuen Authentifizierung über den Adapter funktioniert nun es auch wieder im IOBroker.

            ioBroker auf: Lenovo ThinkCentre M910Q Tiny i5-7500T 16 GB mit proxmox in VM (Bookworm)

            1 Antwort Letzte Antwort
            0
            • H Online
              H Online
              Hofmann IOBRF
              schrieb am zuletzt editiert von
              #218

              Es gibt in der App ein Update für die Benutzerschnittstelle. Hat das schon jemand gemacht? Kommt der Adapter danach damit klar?
              Aktuell läuft es sehr gut mit dem Adapter, deswegen frage ich mal.

              abce9a54-4e1d-41cc-88f1-444fcc90ec53-image.png

              H 1 Antwort Letzte Antwort
              0
              • H Hofmann IOBRF

                Es gibt in der App ein Update für die Benutzerschnittstelle. Hat das schon jemand gemacht? Kommt der Adapter danach damit klar?
                Aktuell läuft es sehr gut mit dem Adapter, deswegen frage ich mal.

                abce9a54-4e1d-41cc-88f1-444fcc90ec53-image.png

                H Online
                H Online
                Hofmann IOBRF
                schrieb am zuletzt editiert von
                #219

                @hofmann-iobrf ist hier noch jemand?

                ArmilarA 1 Antwort Letzte Antwort
                0
                • H Hofmann IOBRF

                  @hofmann-iobrf ist hier noch jemand?

                  ArmilarA Offline
                  ArmilarA Offline
                  Armilar
                  Most Active Forum Testing
                  schrieb am zuletzt editiert von
                  #220

                  @hofmann-iobrf

                  ja, der Adapter reicht nur die Daten durch... Du kannst das Update machen

                  Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  H 1 Antwort Letzte Antwort
                  1
                  • ArmilarA Armilar

                    @hofmann-iobrf

                    ja, der Adapter reicht nur die Daten durch... Du kannst das Update machen

                    H Online
                    H Online
                    Hofmann IOBRF
                    schrieb am zuletzt editiert von
                    #221

                    @armilar Ja, hat geklappt. Funktioniert alles. Nur die Energiedaten kommen jetzt noch unregelmäßiger. Tlw. 2h später.

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • H Hofmann IOBRF

                      @armilar Ja, hat geklappt. Funktioniert alles. Nur die Energiedaten kommen jetzt noch unregelmäßiger. Tlw. 2h später.

                      apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von
                      #222

                      @hofmann-iobrf Das wäre eine Frage an Daikin, da kann der Adapter leider nichts tun.

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        mhuber
                        schrieb am zuletzt editiert von
                        #223

                        Hi,

                        ich habe ein neues Innengerät bekommen, hab bis jetzt immer den anderen Adapter (lokale Kommunikation) verwendet, das geht beim neuen Innengerät nicht mehr. Habe nun den Cloud Adapter Version 0.4.11 installiert.
                        Connect usw. funktioniert, Devices werden offline angezeigt aber das dürfte normal sein wie ich hier gelesen habe.
                        Ich kann aber kein Gerät ein oder ausschalten, woran kann das liegen? Das wäre ja "onOffMode" oder? Habe auch ein paar Minuten gewartet, es tut sich nichts.
                        Kann mir jemand helfen! Danke!

                        F 1 Antwort Letzte Antwort
                        0
                        • M mhuber

                          Hi,

                          ich habe ein neues Innengerät bekommen, hab bis jetzt immer den anderen Adapter (lokale Kommunikation) verwendet, das geht beim neuen Innengerät nicht mehr. Habe nun den Cloud Adapter Version 0.4.11 installiert.
                          Connect usw. funktioniert, Devices werden offline angezeigt aber das dürfte normal sein wie ich hier gelesen habe.
                          Ich kann aber kein Gerät ein oder ausschalten, woran kann das liegen? Das wäre ja "onOffMode" oder? Habe auch ein paar Minuten gewartet, es tut sich nichts.
                          Kann mir jemand helfen! Danke!

                          F Offline
                          F Offline
                          FritzTheCat
                          schrieb am zuletzt editiert von
                          #224

                          @mhuber Hallo, ja "onOffMode" ist der richtige Schalter, aber da muss man normalerweise nicht warten. Bei mir ist die Verzögerung ganz gleich wie bei der normalen Fernbedienung direkt oder ca. 1 Sekunde.

                          Das Gerät wird allerdings auch nicht offline angezeigt:

                          2d415c55-5a60-4b10-b3f4-6514ac69a3b2-grafik.png

                          129875bf-d833-432d-b610-a84c0fe64ede-grafik.png

                          Vielleicht findest Du eine Fehlermelung im Log?

                          ad84a45a-0114-4170-bb8e-83a18ad6bf14-grafik.png

                          M 1 Antwort Letzte Antwort
                          0
                          • F FritzTheCat

                            @mhuber Hallo, ja "onOffMode" ist der richtige Schalter, aber da muss man normalerweise nicht warten. Bei mir ist die Verzögerung ganz gleich wie bei der normalen Fernbedienung direkt oder ca. 1 Sekunde.

                            Das Gerät wird allerdings auch nicht offline angezeigt:

                            2d415c55-5a60-4b10-b3f4-6514ac69a3b2-grafik.png

                            129875bf-d833-432d-b610-a84c0fe64ede-grafik.png

                            Vielleicht findest Du eine Fehlermelung im Log?

                            ad84a45a-0114-4170-bb8e-83a18ad6bf14-grafik.png

                            M Offline
                            M Offline
                            mhuber
                            schrieb am zuletzt editiert von
                            #225

                            @fritzthecat ist bei mir so nicht gegangen, Adapter deinstalliert, nochmal installiert und es geht, komisch....
                            Wie bekommen Du das "online" in grün hin? Bei mir zeigt es offline, aber es scheint alles zu gehen

                            ce26dd61-9531-4e12-bd0a-4cae9fbb5354-image.png

                            apollon77A 1 Antwort Letzte Antwort
                            0
                            • M mhuber

                              @fritzthecat ist bei mir so nicht gegangen, Adapter deinstalliert, nochmal installiert und es geht, komisch....
                              Wie bekommen Du das "online" in grün hin? Bei mir zeigt es offline, aber es scheint alles zu gehen

                              ce26dd61-9531-4e12-bd0a-4cae9fbb5354-image.png

                              apollon77A Offline
                              apollon77A Offline
                              apollon77
                              schrieb am zuletzt editiert von
                              #226

                              @mhuber Es gibt wohl einige Geräte die den Online Status nicht korrekt zurückmelden ... andere gehen. Schau mal GitHub issues. Haben bisher noch keine Lösung

                              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                              1 Antwort Letzte Antwort
                              0
                              • ArmilarA Armilar

                                @lemmi

                                Hallo zusammen,

                                habe mal ein wenig Zeit gefunden, um das Skript auf alle Device-Typen und Adapterinstanzen anzupassen.

                                TypeScript anlegen. Inhalt reinwerfen. Sollte nichts angepasst werden müssen. Skript starten...

                                Die Daten für jedes Daikin-Device in der Onnecta-App (Klima, Wärmepumpe, heating, cooling, Total, etc.) werden unter 0_userdata.0.daikin-cloud.... angelegt.

                                @apollon77 - evtl. kann man das in den Adapter schreddern...

                                /* TypeScript (TS) @Armilar
                                 *
                                 * This Script will read the consumption Data from Daikin-Cloud adapter and transform the raw data into individual data points similar to how it's shown in the Daikin Onecta App.
                                 * It will also sum up the historic consumption from the current and previous year and update the total consumption meter going forward.
                                 * 
                                 * The data is created in the following path analogous to the daikin cloud data
                                 * 0_userdata.0.daikin-cloud.0...
                                 * 
                                 * Createtd: 14.11.2024
                                 */
                                
                                // Log-Mode
                                const logMode: any = 'info'; // 'info' or 'debug'
                                // Path in 0_userdata
                                const mainPath: string = '0_userdata.0.';
                                // Onnecta hours (if d-raw)
                                const hourly: Array<string>  = ["00:00 - 02:00", "02:00 - 04:00", "04:00 - 06:00", "06:00 - 08:00", "08:00 - 10:00", "10:00 - 12:00", "12:00 - 14:00", "14:00 - 16:00", "16:00 - 18:00", "18:00 - 20:00", "20:00 - 22:00", "22:00 - 24:00"];
                                // Onnecta weekdays (if w-raw)
                                const daily: Array<string>   = ["01_Monday", "02_Tuesday", "03_Wednesday", "04_Thursday", "05_Friday", "06_Saturday", "07_Sunday"];
                                // Onnecta months  (if m-raw)
                                const monthly: Array<string> = ["01_Januray", "02_February", "03_March", "04_April", "05_May", "06_June", "07_July", "08_August", "09_September", "10_October", "11_November", "12_December"];
                                
                                let devices: string[] = getDeviceNames("daikin-cloud.");
                                
                                function setOrCreateState(id: string, value: any, forceCreation: boolean = true, common: Partial<iobJS.StateCommon> = {}, callback?: iobJS.SetStateCallback): void {
                                    if (!existsState(id)) {
                                        createState(id, value, forceCreation, common, callback);
                                    } else {
                                        setState(id, value, true);
                                    }
                                }
                                
                                // Get Daikin Device Names
                                function getDeviceNames(vAdapterInstance: string): string[] {
                                    let devices = [];
                                    $(vAdapterInstance + '*raw').each(function (id) {
                                        if (devices.indexOf(id) == -1) {
                                            devices.push(id);
                                        }
                                    });
                                    return devices;
                                }
                                
                                async function writeConsumtionData(path: string, rawType: string, rawData: number[]): Promise<void> {
                                    log(rawType + ' - ' + rawData, logMode);
                                    let total: number = 0;
                                    switch (rawType) {
                                	case "d-raw":
                                            for (let j = 0; j < 12; j++) {
                                                let dpName = "Yesterday." + hourly[j];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: hourly[j], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.Yesterday', total, true, {type: 'number', name: 'Yesterday', role: 'value.power',unit: 'kWh'});
                                            total = 0;
                                            for (let j = 12; j < 24; j++) {
                                                let dpName = "Today." + hourly[j-12];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: hourly[j-12], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.Today', total, true, {type: 'number', name: 'Today', role: 'value.power',unit: 'kWh'});
                                            break;
                                	case "w-raw":
                                            for (let j = 0; j < 7; j++) {
                                                let dpName = "LastWeek." + daily[j];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: daily[j], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.LastWeek', total, true, {type: 'number', name: 'LastWeek', role: 'value.power',unit: 'kWh'});
                                            total = 0;
                                            for (let j = 7; j < 14; j++) {
                                                let dpName = "ThisWeek." + daily[j-7];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: daily[j-7], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.ThisWeek', total, true, {type: 'number', name: 'ThisWeek', role: 'value.power',unit: 'kWh'});
                                            break;
                                	case "m-raw":
                                            for (let j = 0; j < 12; j++) {
                                                let dpName = "LastYear." + monthly[j];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: monthly[j], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.LastYear', total, true, {type: 'number', name: 'LastYear', role: 'value.power',unit: 'kWh'});
                                            total = 0;
                                            for (let j = 12; j < 24; j++) {
                                                let dpName = "ThisYear." + monthly[j-12];
                                                setOrCreateState(mainPath + path + dpName, rawData[j], true, {type: 'number', name: monthly[j-12], role: 'value.power', unit: 'kWh'});
                                                log(mainPath + path + dpName + ': ' + rawData[j], logMode);
                                                total = total + rawData[j];
                                            }
                                            setOrCreateState(mainPath + path + 'Total.ThisYear', total, true, {type: 'number', name: 'ThisYear', role: 'value.power',unit: 'kWh'});
                                            break;
                                    }
                                }
                                
                                async function readConsumtionData(): Promise<void> {
                                    for (let i = 0; i < devices.length; i++) {
                                        //get d-raw; w-raw; m-raw
                                        let dev: any = devices[i].split('.');
                                        let state = getState(devices[i]).val;
                                        state = state.slice(1,-1);
                                        state = state.replaceAll('null', '0');
                                        await writeConsumtionData(devices[i].slice(0,-5), dev[dev.length -1], Array.from(state.split(','), Number));
                                    }
                                }
                                readConsumtionData();
                                
                                on({ id: [].concat(Array.prototype.slice.apply($('daikin-cloud.*.lastUpdateReceived'))), change: 'any' }, async (obj) => {
                                    await readConsumtionData();
                                });
                                
                                T Offline
                                T Offline
                                topsurfer
                                schrieb am zuletzt editiert von topsurfer
                                #227

                                @armilar Auch von mir ein Danke für das Script, lief auf Anhieb!

                                Frage (hoffe es ist nicht zu OT),
                                Jetzt sieht man ja die DP auch mit historischen Daten (z.B. letzte 12 Monate je ein Monatsverbrauch), gibt es einen Trick, diese Daten mit entsprechendem Timestamp in eine InfluxDB zu bekommen, oder ist händige Arbeit angesagt (mittels insert ...)

                                2025-05-27_150942.png

                                Die jetzt neuen Monatswerte würde ich per Cron am Monatsende dann in die DB schreiben lassen (oder?)


                                Anleitung zur Integration Enocean/Eltako in iobroker (Beta!)
                                https://www.mmhaus.de/eltako-device-in-iobroker-integrieren-enocean

                                ArmilarA 1 Antwort Letzte Antwort
                                1
                                • apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #228

                                  @Armilar Soll ich den Post mit dem Skript mal in der Adapter Readme verlinken?

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  ArmilarA 1 Antwort Letzte Antwort
                                  1
                                  • apollon77A apollon77

                                    @Armilar Soll ich den Post mit dem Skript mal in der Adapter Readme verlinken?

                                    ArmilarA Offline
                                    ArmilarA Offline
                                    Armilar
                                    Most Active Forum Testing
                                    schrieb am zuletzt editiert von
                                    #229

                                    @apollon77

                                    ja gerne... :blush:

                                    hier verschwindet es ja irgendwann im "ich habe ja nicht alle Posts gelesen" ;-)

                                    Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                    https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                    Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                    1 Antwort Letzte Antwort
                                    0
                                    • T topsurfer

                                      @armilar Auch von mir ein Danke für das Script, lief auf Anhieb!

                                      Frage (hoffe es ist nicht zu OT),
                                      Jetzt sieht man ja die DP auch mit historischen Daten (z.B. letzte 12 Monate je ein Monatsverbrauch), gibt es einen Trick, diese Daten mit entsprechendem Timestamp in eine InfluxDB zu bekommen, oder ist händige Arbeit angesagt (mittels insert ...)

                                      2025-05-27_150942.png

                                      Die jetzt neuen Monatswerte würde ich per Cron am Monatsende dann in die DB schreiben lassen (oder?)

                                      ArmilarA Offline
                                      ArmilarA Offline
                                      Armilar
                                      Most Active Forum Testing
                                      schrieb am zuletzt editiert von
                                      #230

                                      @topsurfer

                                      ja, du kannst je Gerät die Totalwerte nutzen...

                                      b160233b-086f-48a1-a957-209584e99bde-image.png

                                      Wenn die sich ändern in die influxdb schreiben...

                                      Sollte ja alles vorhanden sein, was für eine Auswertung erforderlich ist.

                                      Installationsanleitung, Tipps, Alias-Definitionen, FAQ für das Sonoff NSPanel mit lovelace UI unter ioBroker
                                      https://github.com/joBr99/nspanel-lovelace-ui/wiki

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • ArmilarA Armilar

                                        @topsurfer

                                        ja, du kannst je Gerät die Totalwerte nutzen...

                                        b160233b-086f-48a1-a957-209584e99bde-image.png

                                        Wenn die sich ändern in die influxdb schreiben...

                                        Sollte ja alles vorhanden sein, was für eine Auswertung erforderlich ist.

                                        T Offline
                                        T Offline
                                        topsurfer
                                        schrieb am zuletzt editiert von
                                        #231

                                        @armilar Ja, das gilt aber doch nur für aktuelle Werte, die sich noch ändern.
                                        Meinte ja alte Daten von z.B. Monatswert 08.2024, der ändert sich ja nicht mehr.
                                        Den will ich ja mit Timestamp 31.08.2024 in die DB bekommen, das geht wohl nur händig, oder?


                                        Anleitung zur Integration Enocean/Eltako in iobroker (Beta!)
                                        https://www.mmhaus.de/eltako-device-in-iobroker-integrieren-enocean

                                        HomoranH 1 Antwort Letzte Antwort
                                        0
                                        • T topsurfer

                                          @armilar Ja, das gilt aber doch nur für aktuelle Werte, die sich noch ändern.
                                          Meinte ja alte Daten von z.B. Monatswert 08.2024, der ändert sich ja nicht mehr.
                                          Den will ich ja mit Timestamp 31.08.2024 in die DB bekommen, das geht wohl nur händig, oder?

                                          HomoranH Nicht stören
                                          HomoranH Nicht stören
                                          Homoran
                                          Global Moderator Administrators
                                          schrieb am zuletzt editiert von
                                          #232

                                          @topsurfer sagte in Test Adapter Daikin-Cloud 0.4.0:

                                          @armilar Ja, das gilt aber doch nur für aktuelle Werte, die sich noch ändern.
                                          Meinte ja alte Daten von z.B. Monatswert 08.2024, der ändert sich ja nicht mehr.
                                          Den will ich ja mit Timestamp 31.08.2024 in die DB bekommen, das geht wohl nur händig, oder?

                                          das ist aber doch kein Thema für diesen Thread, oder?

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          B 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          714

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe