Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [neuer Adapter] smartgarden adapter for Gardena smart system

NEWS

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

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

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

[neuer Adapter] smartgarden adapter for Gardena smart system

Geplant Angeheftet Gesperrt Verschoben Tester
gardena smart systemsmartgarden
1.1k Beiträge 108 Kommentatoren 324.8k Aufrufe 101 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.
  • H higginsd

    @michihorn

    Ja, bei mir auch. Leider, denn das JS interessiert mich auch, da ich gerade etwas Ähnliches entwickle.

    M Online
    M Online
    michihorn
    schrieb am zuletzt editiert von michihorn
    #1044

    @higginsd
    Ich habe das so gelöst:
    Grundsätzlich soll der Mäher automatisch arbeiten, ausser bei Regen, dann startet er nicht.
    Anbei ein Bild der manuell angelegten DP
    bild2.png
    Meine Entwicklung beinhaltet 5 Scripte.

    1. Startet meinen Mäher (Cordula)
    2. Berechnet die Laufzeit
    3. Löscht den letzten Tag
    4. Status des Mäher inkl. Whatsapp Versand
    5. Abbruch des Mähens bei Regen
      bild1.png
    Script1:
    [s=]
     /*****Steuerung Gardena **************************************
    * April 2024
    * Adapter: Smartgarden
    * 
    * geä:
    **************************************************************/
    
    const idgo_SO = "0_userdata.0.Garten.Rasen.Cordula.SO.Moving"
    const idgo_MO = "0_userdata.0.Garten.Rasen.Cordula.MO.Moving"
    const idgo_DI = "0_userdata.0.Garten.Rasen.Cordula.Di.Moving"
    const idgo_MI = "0_userdata.0.Garten.Rasen.Cordula.MI.Moving"
    const idgo_DO = "0_userdata.0.Garten.Rasen.Cordula.DO.Moving"
    const idgo_FR = "0_userdata.0.Garten.Rasen.Cordula.FR.Moving"
    const idgo_SA = "0_userdata.0.Garten.Rasen.Cordula.SA.Moving"
    
    const idmt_SO = "0_userdata.0.Garten.Rasen.Cordula.SO.MovingTime"
    const idmt_MO = "0_userdata.0.Garten.Rasen.Cordula.MO.MovingTime"
    const idmt_DI = "0_userdata.0.Garten.Rasen.Cordula.Di.MovingTime"
    const idmt_MI = "0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime"
    const idmt_DO = "0_userdata.0.Garten.Rasen.Cordula.DO.MovingTime"
    const idmt_FR = "0_userdata.0.Garten.Rasen.Cordula.FR.MovingTime"
    const idmt_SA = "0_userdata.0.Garten.Rasen.Cordula.SA.MovingTime"
    
    const id_Go = "smartgarden.0.LOCATION_xxxxx0-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_control_i"
    
    schedule("*/1 * * * *", function (dp) {
        var d = new Date();
        var day = d.getDay();
        if ((getState("0_userdata.0.Garten.Rasen.Cordula.MoHand").val == true) && (getState("mqtt.1.shellies.Regensensor_CAS.input.1").val == 1)) {
            log("Tag: " + day)
            switch (day) {
                case 0:
                    if (getState(idgo_SO).val == true) {
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.SO.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 0', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.SO.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.SO.Run", true)
                        });
                    }
                    break;
                case 1:
                    if (getState(idgo_MO).val == true) {
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.MO.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 1', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.MO.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.MO.Run", true)
                        });
                    }
                    break;
                case 2:
                    if (getState("0_userdata.0.Garten.Rasen.Cordula.Di.Moving").val == true) {  //Schiebeschalter
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.Di.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 2', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.Di.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.Di.Run", true)
                        });
                    }
                    break;
                case 3:
                    if (getState("0_userdata.0.Garten.Rasen.Cordula.MI.Moving").val == true) {  //Schiebeschalter
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.MI.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 3', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.MI.Run", true)
                        });
                    }
                    break;
                case 4:
                    if (getState(idgo_DO).val == true) {
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.DO.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 4', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.DO.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.DO.Run", true)
                        });
                    }
                    break;
                case 5:
                    if (getState("0_userdata.0.Garten.Rasen.Cordula.FR.Moving").val == true) {  //Schiebeschalter
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.FR.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 5', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.FR.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.FR.Run", true)
                        });
                    }
                    break;
                case 6:
                    if (getState(idgo_SA).val == true) {
                        var schedStart = null;
                        var start = getState("0_userdata.0.Garten.Rasen.Cordula.SA.Von").val.split(':');
                        schedStart = schedule(start[1] + ' ' + start[0] + ' * * 6', function () {
                            var merker = getState("0_userdata.0.Garten.Rasen.Cordula.SA.MovingTime").val
                            if (merker = 1) {
                                setState(id_Go, 3600);
                            } else if (merker = 2) {
                                setState(id_Go, 7200);
                            }
                            setState("0_userdata.0.Garten.Rasen.Cordula.SA.Run", true)
                        });
                    }
                    break;
            }
        }
    });
    
    [/s]
    
    Script2: (ist noch nicht zu Ende gedacht...)
    [s=]
     /*****Laufzeit Gardena Mover *******************************************
    * April 2024
    * Adapter: Smartgarden
    * 
    * geä:08.05.24
    *************************************************************************/
    const id_CT = "smartgarden.0.LOCATION_xxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_COMMON_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.batteryState_chargingTime_remain_i"
    const id_Status = "0_userdata.0.Garten.Rasen.StatusNr"
    const id_MT = "0_userdata.0.Garten.Rasen.Cordula.MI.MovingTime"
    const ids = $('0_userdata.0.Garten.Rasen.Cordula.*.Run');
    const id_mt = "0_userdata.0.Garten.Rasen.Cordula.MT"
    
    on({ id: id_CT, change: "any" }, function (dp) {
        var LZ = (dp.state.val / 60).toFixed(0)
        setState("0_userdata.0.Garten.Rasen.Restladezeit", LZ)
    });
    
    schedule("*/1 * * * *", function () {
        if (getState("0_userdata.0.Garten.Rasen.StatusNr").val == 1) {
            ids.each(function (id, i) {
                if (getState(id).val == true)
                    setState("0_userdata.0.Garten.Rasen.Cordula.Aktuell", id)
            });
            var mt = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
            mt = mt.split('.');
            mt = mt[0] + '.' + mt[1] + '.' + mt[2] + '.' + mt[3] + '.' + mt[4] + '.' + mt[5]+ ".MovingTime";
            log(getState(mt).val)
            var str = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
            setState("0_userdata.0.Garten.Rasen.Cordula.Aktuell", str.replace("Run", 'Von'))
            var aktuell = getState("0_userdata.0.Garten.Rasen.Cordula.Aktuell").val
            var start = getState(aktuell).val.split(':');
            var A_time = 60 * (parseInt(start[0]) + getState(mt).val) + parseInt(start[1]);
            let h = Math.floor((A_time - (60 * new Date().getHours() + new Date().getMinutes())) / 60);
            let m = (A_time - (60 * new Date().getHours() + new Date().getMinutes())) - h * 60;
            log((('00' + h).slice(-2) + ":" + ('00' + m).slice(-2)))
            setState("0_userdata.0.Garten.Rasen.Cordula.R_Laufzeit", (('00' + h).slice(-2) + ":" + ('00' + m).slice(-2)))
        }
    });
    [/s]
    
    Script3:
    [s=]
     const ids = $('0_userdata.0.Garten.Rasen.Cordula.*.Run');
    //schedule("*/1 * * * *", function () {
        on({ time: { hour: 23, minute: 59 } }, function () {
        ids.each(function (id, i) {
            if (getState(id).val == true) 
            setState(id,false)
        });
    });
    [/s]
    Script4:
    /*****Status Gardena *******************************************
    * April 2024
    * Adapter: Smartgarden
    * 
    * geä:
    ****************************************************************/
    
    //const MOWER_STATE_TEXTS = {
    //'PAUSED': 'Pausiert',
    //'OK_CUTTING': 'Mähen (Timer)',
    //'OK_CUTTING_TIMER_OVERRIDDEN': 'Mähen manuell gestartet',
    //'OK_SEARCHING': 'Unterwegs zur Station',
    //'OK_LEAVING': 'Unterwegs zum Startpunkt',
    //'OK_CHARGING': 'Aufladen',
    //'PARKED_TIMER': 'Geparkt (Timer)',
    //'PARKED_PARK_SELECTED': 'Geparkt',
    //'PARKED_AUTOTIMER': 'Geparkt (Timer)',
    //'NONE': 'Unbekannt (Fehler)',
    //'UNKNOWN': 'Unbekannt'
    //};
    
    
    const id_info = "0_userdata.0.Garten.Rasen.Status" //Deutsche Beschreibung
    const id_error = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.lastErrorCode_value"
    const id_Status = "smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_value"
    const id_regen = "mqtt.1.shellies.Regensensor_CAS.input.1"
    const id_statusnr = "0_userdata.0.Garten.Rasen.StatusNr"
    var text
    on({ id: id_Status, change: 'ne' }, function (dp) {
        log(dp.state.val)
        switch (dp.state.val) {
            case 'PAUSED':
                setState(id_info, "Pause")
                setState(id_statusnr, 3)
                break;
            case 'OK_CUTTING':
                setState(id_info, "Mähen nach Timer")
                setState(id_statusnr, 1)
                text = "\ud83c\udf33 Mäher gestartet"
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253938149' });
                break;
            case 'OK_CUTTING_TIMER_OVERRIDDEN':
                setState(id_info, "Mähen manuell gestartet")
                setState(id_statusnr, 1)
                text = "\ud83c\udf33 Mäher gestartet"
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+49152539xxxx49' });
                break;
            case 'OK_SEARCHING':
                setState(id_info, "Unterwegs zur Ladestation")
                setState(id_statusnr, 2)
                break;
            case 'OK_LEAVING':
                setState(id_info, "Verlässt Ladestation")
                setState(id_statusnr, 1)
                break;
            case 'OK_CHARGING':
                setState(id_info, "Wird in Ladestation geladen")
                setState(id_statusnr, 2)
                text = "\ud83c\udd7f\ufe0f Mäher laden"
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253xxx49' });
                break;
            case 'PARKED_TIMER':
                setState(id_info, "Automatisch geparkt")
                setState(id_statusnr, 3)
                text = "\ud83c\udd7f\ufe0f Mäher geparkt"
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+4915253xxxx9' });
                break;
            case 'PARKED_PARK_SELECTED':
                setState(id_info, "Geparkt")
                setState(id_statusnr, 3)
                text = "\ud83c\udd7f\ufe0f Mäher geparkt"
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+49152539xxxx9' });
                break;
            case 'PARKED_AUTOTIMER':
                setState(id_info, "Geparkt per Timer")
                setState(id_statusnr, 3)
                break;
            case 'NONE':
                setState(id_info, "Fertig")
                setState(id_statusnr, 3)
                break;
            case 'UNKNOWN':
                setState(id_info, "Unbekannt")
                setState(id_statusnr, 4)
                break;
        }
    });
    
    on({ id: id_error, change: 'ne' }, function (dp) {
        text = "\u2757 Fehlermeldung"
        sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+491525393xxxx' });
        setState(id_statusnr, 4)
    });
    
    Script5:
    /*****Cordula Steuerung in Abhängigkeit von Regen ***************************************************************
    **    Juli 2021
    **    Smartgarden
    **    Gardena 
    **    erstellt: 10.08.21
    **    geändert: 30.09.21, 03.10.21, 02.06.22, 25.08.23
    *****************************************************************************************************************/
    
    const idsperre = "0_userdata.0.Garten.Rasen.sperre"
    const idRegen = 'mqtt.1.shellies.shellyuni-34945478EBFD.input.1';
    const idWorking = 'smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowing_i';
    const idStatus = "smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_value" //STATUS des Mähers
    const idParken = 'smartgarden.0.LOCATION_xxxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_control_i';
    const idLZ = "smartgarden.0.LOCATION_xxxxxxx-2Df6d9-2D4225-2D9481-2Dad62bcd5ae1e.DEVICE_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.SERVICE_MOWER_59e2d2b8-2De89e-2D46c1-2D9c5e-2D3340cc87b9ff.activity_mowingTime_remain_i"
    var text
    
    
    
    on({ id: idRegen, change: "any" }, async function (obj) {
        let status = getState(idStatus).val;
        log("Regen: " + obj.state.val);
        // Mäher bei aktiven Regen beenden und in die Hütte schicken
        if (obj.state.val == 0 && getState(idsperre).val == false) {
            setState(idsperre, true)
            if ((status == 'OK_CUTTING') || (status == 'OK_CUTTING_TIMER_OVERRIDDEN') || (status == 'OK_LEAVING') || (status == 'PAUSED')) {
                setState(idParken, 0);
                log("Mähen abbrechen");
                text = '\u2602\ufe0f' + "Rasenmähen wird wegen Regen abgebrochen";
                createEventlog("Rasenmäher", text);
                setState("0_userdata.0.Events.CAS_Status", text)
                sendTo('whatsapp-cmb.0', 'send', { text: text, phone: '+491525393xxxxx' });
            }
        }
    });
    
    
    // Mäher bei aktiven Regen in der Hütte lassen
    on({ id: idRegen, change: "ne" }, async function (obj) {
        if ((obj.state.val) == true) {
            setState(idParken, 0);
        }
    });
    1 Antwort Letzte Antwort
    0
    • FenriswolfF Offline
      FenriswolfF Offline
      Fenriswolf
      schrieb am zuletzt editiert von
      #1045

      Guten Abend,

      heute melde ich mich auch mal wieder zu Wort.

      Heute morgen hat die Bewässerung noch tadellos funktioniert, aber am heutigen Abend hatte ich mit mal wieder folgende Meldungen im Log:

      2024-05-13 20:27:44.717 - error: smartgarden.0 (99910) Error: request returned 429
      2024-05-13 20:29:50.679 - warn: admin.0 (99246) smartgarden has an invalid jsonConfig: [{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"visible"},"message":"must NOT have additional properties"},{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/patternProperties/%5E.%2B/allOf/21/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/tab-main","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
      2024-05-13 20:30:56.364 - error: smartgarden.0 (99940) Error: request returned 429
      

      Die Admin-Meldung verstehe ich leider nicht ganz, da ich mich gar nicht mehr über Username und Password authentifiziere, sondern über application key.

      Geht es anderen momentan ähnlich ?

      mfg
      Marc

      Press any key to continue or any other to quit

      S jpgorganizerJ 2 Antworten Letzte Antwort
      0
      • FenriswolfF Fenriswolf

        Guten Abend,

        heute melde ich mich auch mal wieder zu Wort.

        Heute morgen hat die Bewässerung noch tadellos funktioniert, aber am heutigen Abend hatte ich mit mal wieder folgende Meldungen im Log:

        2024-05-13 20:27:44.717 - error: smartgarden.0 (99910) Error: request returned 429
        2024-05-13 20:29:50.679 - warn: admin.0 (99246) smartgarden has an invalid jsonConfig: [{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"visible"},"message":"must NOT have additional properties"},{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/patternProperties/%5E.%2B/allOf/21/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/tab-main","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
        2024-05-13 20:30:56.364 - error: smartgarden.0 (99940) Error: request returned 429
        

        Die Admin-Meldung verstehe ich leider nicht ganz, da ich mich gar nicht mehr über Username und Password authentifiziere, sondern über application key.

        Geht es anderen momentan ähnlich ?

        mfg
        Marc

        S Offline
        S Offline
        Sleepwalker
        schrieb am zuletzt editiert von
        #1046

        @fenriswolf Läuft dein Adapter über "Benutzername/Passwort" oder schon über das "application secret"?
        Hatte eine gleiche / ähnliche (?) Meldung, als ich die Authentifizierung über das von Gardena nicht mehr unterstützte Benutzer/Passwort machen wollte.

        1 Antwort Letzte Antwort
        0
        • FenriswolfF Fenriswolf

          Guten Abend,

          heute melde ich mich auch mal wieder zu Wort.

          Heute morgen hat die Bewässerung noch tadellos funktioniert, aber am heutigen Abend hatte ich mit mal wieder folgende Meldungen im Log:

          2024-05-13 20:27:44.717 - error: smartgarden.0 (99910) Error: request returned 429
          2024-05-13 20:29:50.679 - warn: admin.0 (99246) smartgarden has an invalid jsonConfig: [{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/additionalProperties","keyword":"additionalProperties","params":{"additionalProperty":"visible"},"message":"must NOT have additional properties"},{"instancePath":"/items/tab-main/items/gardena_username","schemaPath":"#/patternProperties/%5E.%2B/allOf/21/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"/items/tab-main","schemaPath":"#/properties/items/patternProperties/%5E.%2B/allOf/8/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"},{"instancePath":"","schemaPath":"#/if","keyword":"if","params":{"failingKeyword":"then"},"message":"must match \"then\" schema"}]
          2024-05-13 20:30:56.364 - error: smartgarden.0 (99940) Error: request returned 429
          

          Die Admin-Meldung verstehe ich leider nicht ganz, da ich mich gar nicht mehr über Username und Password authentifiziere, sondern über application key.

          Geht es anderen momentan ähnlich ?

          mfg
          Marc

          jpgorganizerJ Offline
          jpgorganizerJ Offline
          jpgorganizer
          schrieb am zuletzt editiert von
          #1047

          @fenriswolf Hi, die Warnung habe ich gestern Abend bei mir auch gesehen. Scheint eine Warnung vom ioBroker zu sein. Ich frage mich, warum das jetzt kommt und nicht schon früher? Gab es da eine Änderung - irgendwann mal ???

          Sei's drum, ich hoffe ich kann mir das über's kommende Wochenende ansehen woran das liegt. Ist eine Warnung und somit keine Eile.

          Der Fehler kommt vom Gardena Server. Taucht ja immer mal wieder bei irgendwem auf - nur nie bei mir 😞

          Bitte keine Fragen per PN, die gehören ins Forum!

          ioBroker
          smartgarden Adapter für GARDENA smart system
          Plattform: Raspberry Pi OS Linux 12 (bookworm), Node.js: v18.18.2, NPM: 9.8.1

          FenriswolfF 1 Antwort Letzte Antwort
          0
          • jpgorganizerJ jpgorganizer

            @fenriswolf Hi, die Warnung habe ich gestern Abend bei mir auch gesehen. Scheint eine Warnung vom ioBroker zu sein. Ich frage mich, warum das jetzt kommt und nicht schon früher? Gab es da eine Änderung - irgendwann mal ???

            Sei's drum, ich hoffe ich kann mir das über's kommende Wochenende ansehen woran das liegt. Ist eine Warnung und somit keine Eile.

            Der Fehler kommt vom Gardena Server. Taucht ja immer mal wieder bei irgendwem auf - nur nie bei mir 😞

            FenriswolfF Offline
            FenriswolfF Offline
            Fenriswolf
            schrieb am zuletzt editiert von
            #1048

            @jpgorganizer sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:

            @fenriswolf Hi, die Warnung habe ich gestern Abend bei mir auch gesehen. Scheint eine Warnung vom ioBroker zu sein. Ich frage mich, warum das jetzt kommt und nicht schon früher? Gab es da eine Änderung - irgendwann mal ???

            Sei's drum, ich hoffe ich kann mir das über's kommende Wochenende ansehen woran das liegt. Ist eine Warnung und somit keine Eile.

            Der Fehler kommt vom Gardena Server. Taucht ja immer mal wieder bei irgendwem auf - nur nie bei mir 😞

            Guten Morgen,

            dann weiß ich bescheid..... hoffen wir mal, das es sich wieder beruhigt mit dem Fehler. Hatte den Adapter jetzt über Nacht aus, aber eben beim einschalten kam der Fehler direkt wieder.

            Press any key to continue or any other to quit

            1 Antwort Letzte Antwort
            0
            • V Offline
              V Offline
              Vippis
              schrieb am zuletzt editiert von Vippis
              #1049

              Hallo,
              ich bekomme seit heute den Fehler "Error: request returned 429"

              46b0f0b0-8d61-48bd-a88e-ed4db162349a-grafik.png

              Das steht im IOBroker Log:
              9c2b9f3e-cd00-434d-9a0f-f3657801c6fd-grafik.png

              API-Key und Secret sind korrekt.

              Bis gestern hat alles funktioniert. Ich habe die IrrigationControl von Gardena und starte mit Javascripts die Ventile für die Bewässerung. Hat auch immer funktioniert bis heute morgen ...

              Ich hab die Instanz gelöscht und neu eingerichtet. Jetzt bekomme ich keine Verbindung mehr und die Datenpunkte sind alle futsch ...

              Was genau bedeutet der Error 429?

              V 1 Antwort Letzte Antwort
              0
              • V Vippis

                Hallo,
                ich bekomme seit heute den Fehler "Error: request returned 429"

                46b0f0b0-8d61-48bd-a88e-ed4db162349a-grafik.png

                Das steht im IOBroker Log:
                9c2b9f3e-cd00-434d-9a0f-f3657801c6fd-grafik.png

                API-Key und Secret sind korrekt.

                Bis gestern hat alles funktioniert. Ich habe die IrrigationControl von Gardena und starte mit Javascripts die Ventile für die Bewässerung. Hat auch immer funktioniert bis heute morgen ...

                Ich hab die Instanz gelöscht und neu eingerichtet. Jetzt bekomme ich keine Verbindung mehr und die Datenpunkte sind alle futsch ...

                Was genau bedeutet der Error 429?

                V Offline
                V Offline
                Vippis
                schrieb am zuletzt editiert von
                #1050

                Error 429 scheint eine Abweisung des Gardena Servers zu sein wegen zu vieler API calls:

                https://community.openhab.org/t/gardena-error-429-limit-exceeded/137419/33

                Rate Limits

                https://developer.husqvarnagroup.cloud/apis/gardena-smart-system-api?tab=readme

                Rate limits are in place to prevent malicious use of the API that would impact other users.

                Applications share a pool of keys that each are assigned certain quota. An application that behaves as a good citizen of the Gardena eco system should not exceed the following limits:

                On average one call every fifteen minutes.
                700 requests per week.
                10 requests per 10-second interval.
                

                These are hard limits for every application. If an application exceeds the 700 requests per week or 10 requests within the 10-second timeframe, subsequent requests will be blocked with a 429 "Too Many Requests" response status code.

                These limits should not pose a problem if you use REST calls only to update the state of your location once and then use the real time API to stay in sync (see sections below for more information). If you feel your application absolutely cannot adhere to these limits and your use case is interesting for Gardena, please get in touch to see whether we can grant you higher rate limits.

                V 1 Antwort Letzte Antwort
                0
                • V Vippis

                  Error 429 scheint eine Abweisung des Gardena Servers zu sein wegen zu vieler API calls:

                  https://community.openhab.org/t/gardena-error-429-limit-exceeded/137419/33

                  Rate Limits

                  https://developer.husqvarnagroup.cloud/apis/gardena-smart-system-api?tab=readme

                  Rate limits are in place to prevent malicious use of the API that would impact other users.

                  Applications share a pool of keys that each are assigned certain quota. An application that behaves as a good citizen of the Gardena eco system should not exceed the following limits:

                  On average one call every fifteen minutes.
                  700 requests per week.
                  10 requests per 10-second interval.
                  

                  These are hard limits for every application. If an application exceeds the 700 requests per week or 10 requests within the 10-second timeframe, subsequent requests will be blocked with a 429 "Too Many Requests" response status code.

                  These limits should not pose a problem if you use REST calls only to update the state of your location once and then use the real time API to stay in sync (see sections below for more information). If you feel your application absolutely cannot adhere to these limits and your use case is interesting for Gardena, please get in touch to see whether we can grant you higher rate limits.

                  V Offline
                  V Offline
                  Vippis
                  schrieb am zuletzt editiert von
                  #1051

                  @vippis

                  Ich werde den smartgarden Adapter erstmal für 24h stoppen und schauen ob Seine Majestät, der Gardena Server, mich wieder gewähren lasst 🙄

                  1 Antwort Letzte Antwort
                  0
                  • V Offline
                    V Offline
                    Vippis
                    schrieb am zuletzt editiert von
                    #1052

                    Ich hab mir unter https://developer.husqvarnagroup.cloud einen frischen API Key erzeugt und bekomme jetzt keinen error 429 mehr

                    M 1 Antwort Letzte Antwort
                    0
                    • V Vippis

                      Ich hab mir unter https://developer.husqvarnagroup.cloud einen frischen API Key erzeugt und bekomme jetzt keinen error 429 mehr

                      M Offline
                      M Offline
                      martin_olw
                      schrieb am zuletzt editiert von martin_olw
                      #1053

                      Hallo zusammen,
                      ich habe mal wieder etwas gebastelt und mir über den Adapter noch einiges gebaut. Unter anderem bekomme ich jetzt über meinen SmartHome-Zentrale die verschiedenen Fehlermeldungen, kann die Kinder per Alexa zur Määähhh-Rettung schicken (wenn ich selbst nicht zu Hause bin), etc...
                      Eines bekomme ich aber nicht hin - ich will mir gern anzeigen lassen, wie lange der Määähhher heute schon seinen Dienst geleistet hat und habe mir dazu folgendes Blockly erstellt:
                      0056bde8-6e2d-478d-9fcc-2f00b402e7e9-image.png
                      Aber leider passiert hier genau nichts. Kann mir jemand sagen, wo mein Fehler liegt?
                      Danke!
                      VG Martin

                      1 Antwort Letzte Antwort
                      0
                      • H Offline
                        H Offline
                        higginsd
                        schrieb am zuletzt editiert von
                        #1054

                        Tach Zusammen!

                        Ich nutze jetzt eine Gardena Beregnung zusammen mit dem neuen SmartSensor über das Gardena Gateway im ioBroker.

                        Läuft soweit sehr gut, ich steuere alles selber über JS und verzichte auf die Gardena-Automatik in der Gardena App.

                        Was mich etwas irritiert sind die Feuchtigkeitswerte vom SmartSensor. Ich hatte gehofft, darüber die Bewässerungsdauer steuern zu können. Allerdings bleibt der bei mir fast konstant auf 70% stehen. Egal, ob es ein heisser Tag mit viel Sonne (und dann ja eigentlich abnehmender Rasenfeuchte) ist /war oder ob ich 15-30 Minuten gut beregne und das Wasser auf dem Rasen steht.

                        Gibt es hier ähnliche Erfahrungen?

                        dslraserD 1 Antwort Letzte Antwort
                        0
                        • H higginsd

                          Tach Zusammen!

                          Ich nutze jetzt eine Gardena Beregnung zusammen mit dem neuen SmartSensor über das Gardena Gateway im ioBroker.

                          Läuft soweit sehr gut, ich steuere alles selber über JS und verzichte auf die Gardena-Automatik in der Gardena App.

                          Was mich etwas irritiert sind die Feuchtigkeitswerte vom SmartSensor. Ich hatte gehofft, darüber die Bewässerungsdauer steuern zu können. Allerdings bleibt der bei mir fast konstant auf 70% stehen. Egal, ob es ein heisser Tag mit viel Sonne (und dann ja eigentlich abnehmender Rasenfeuchte) ist /war oder ob ich 15-30 Minuten gut beregne und das Wasser auf dem Rasen steht.

                          Gibt es hier ähnliche Erfahrungen?

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von
                          #1055

                          @higginsd
                          ich nutze meine Gardena Bewässerung schon einige Jahre. Bei meinem damaligen „Paket“ war auch ein Feuchtigkeitssensor dabei. Im ersten Jahr habe ich viel damit „rum probiert“, aber das Ding ist viel zu träge und frisst dazu noch ordentlich Batterien. Ich verwende das Ding nicht mehr…

                          1 Antwort Letzte Antwort
                          0
                          • H Offline
                            H Offline
                            hssk
                            schrieb am zuletzt editiert von
                            #1056

                            Hallo zusammen.
                            Habe den Adapter heute auch mal installiert. Hat erstaunlich gut geklappt.
                            Nun stehe ich aber vor der Frage, wie ich Mäher oder Wasserventile steuern kann. Die Datenpunkte scheinen bei mir read-only zu sein. jedenfalls klappt das schreiben nicht. Hat jemand das selbe Problem oder einen Tipp, woran dies liegen könnte.
                            Danke an alle.

                            mcBirneM 1 Antwort Letzte Antwort
                            0
                            • H hssk

                              Hallo zusammen.
                              Habe den Adapter heute auch mal installiert. Hat erstaunlich gut geklappt.
                              Nun stehe ich aber vor der Frage, wie ich Mäher oder Wasserventile steuern kann. Die Datenpunkte scheinen bei mir read-only zu sein. jedenfalls klappt das schreiben nicht. Hat jemand das selbe Problem oder einen Tipp, woran dies liegen könnte.
                              Danke an alle.

                              mcBirneM Offline
                              mcBirneM Offline
                              mcBirne
                              schrieb am zuletzt editiert von
                              #1057

                              @hssk
                              ja, ich habe das gleiche Problem. Ich bekomme die Wassersteuerung leider nicht hin.

                              O 1 Antwort Letzte Antwort
                              0
                              • mcBirneM mcBirne

                                @hssk
                                ja, ich habe das gleiche Problem. Ich bekomme die Wassersteuerung leider nicht hin.

                                O Abwesend
                                O Abwesend
                                oFbEQnpoLKKl6mbY5e13
                                schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
                                #1058

                                @mcbirne

                                Was geht denn nicht? Ich steuere zwei Gardena Smart Water Control ohne Probleme.

                                mcBirneM 1 Antwort Letzte Antwort
                                0
                                • O oFbEQnpoLKKl6mbY5e13

                                  @mcbirne

                                  Was geht denn nicht? Ich steuere zwei Gardena Smart Water Control ohne Probleme.

                                  mcBirneM Offline
                                  mcBirneM Offline
                                  mcBirne
                                  schrieb am zuletzt editiert von
                                  #1059

                                  @ofbeqnpolkkl6mby5e13
                                  Eigentlich wollte ich damit die Bewässerung starten. Das klappt. Ausschalten funktioniert leider nicht zuverlässig.

                                  O 1 Antwort Letzte Antwort
                                  0
                                  • mcBirneM mcBirne

                                    @ofbeqnpolkkl6mby5e13
                                    Eigentlich wollte ich damit die Bewässerung starten. Das klappt. Ausschalten funktioniert leider nicht zuverlässig.

                                    O Abwesend
                                    O Abwesend
                                    oFbEQnpoLKKl6mbY5e13
                                    schrieb am zuletzt editiert von oFbEQnpoLKKl6mbY5e13
                                    #1060

                                    @mcbirne

                                    Okay, das ist schon konkreter. Ich schalte nicht aus, da man ja das Ventil mit einer Zeitvorgabe startet. Das Ventil geht also nach Ablauf der Zeit automatisch aus.

                                    Edit: Laut Doku:
                                    To cancel the current watering and continue with the schedule use string STOP_UNTIL_NEXT_TASK

                                    mcBirneM 1 Antwort Letzte Antwort
                                    0
                                    • O oFbEQnpoLKKl6mbY5e13

                                      @mcbirne

                                      Okay, das ist schon konkreter. Ich schalte nicht aus, da man ja das Ventil mit einer Zeitvorgabe startet. Das Ventil geht also nach Ablauf der Zeit automatisch aus.

                                      Edit: Laut Doku:
                                      To cancel the current watering and continue with the schedule use string STOP_UNTIL_NEXT_TASK

                                      mcBirneM Offline
                                      mcBirneM Offline
                                      mcBirne
                                      schrieb am zuletzt editiert von
                                      #1061

                                      @ofbeqnpolkkl6mby5e13
                                      Ja, das verwende ich. Aber es klappt nicht zuverlässig. Ich werde es die Tage mal wieder testen. Habe es schon länger nicht mehr versucht.

                                      O 1 Antwort Letzte Antwort
                                      0
                                      • mcBirneM mcBirne

                                        @ofbeqnpolkkl6mby5e13
                                        Ja, das verwende ich. Aber es klappt nicht zuverlässig. Ich werde es die Tage mal wieder testen. Habe es schon länger nicht mehr versucht.

                                        O Abwesend
                                        O Abwesend
                                        oFbEQnpoLKKl6mbY5e13
                                        schrieb am zuletzt editiert von
                                        #1062

                                        @mcbirne

                                        Okay, das könnte ich frühestens im Laufe der nächsten Woche testen.

                                        mcBirneM 1 Antwort Letzte Antwort
                                        0
                                        • O oFbEQnpoLKKl6mbY5e13

                                          @mcbirne

                                          Okay, das könnte ich frühestens im Laufe der nächsten Woche testen.

                                          mcBirneM Offline
                                          mcBirneM Offline
                                          mcBirne
                                          schrieb am zuletzt editiert von
                                          #1063

                                          @ofbeqnpolkkl6mby5e13
                                          Ich muss da etwas zurückrudern. Ich habe mir das noch einmal angeschaut und zwei Fehler in meinem Blockly gefunden. Nun funktioniert es.
                                          Um die Bewässerung zu starten muss man in duration_value eine Zahl (Dauer in Sekunden) als String eingeben. Um die Bewässerung zu beenden muss man in duration_value "STOP_UNTIL_NEXT_TASK" eingeben. Ich habe dann noch Schalter in meiner Vis verändert. Dort ist es wichtig, dass man bei abgeschlossener Bewässerung auf den Wert "duration_leftover_i" = null prüft, da der Wert bei duration_value erst später aktualisiert wird.
                                          Nun muss ich nur noch die Zeitplan Aktivierung über die Vis wieder einbauen.
                                          Der Adapter scheint also fehlerfrei zu funktionieren.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          569

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe