Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Xiaomi Vacuum Wochenplan inkl. Widgets

    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

    Xiaomi Vacuum Wochenplan inkl. Widgets

    This topic has been deleted. Only users with topic management privileges can see it.
    • cvidal
      cvidal Forum Testing last edited by cvidal

      Hi zusammen,
      auf Facebook kamen anfragen nach dem Skript für den Wochenplan des Vacuum da ich es dort warum auch immer nicht Teilen/Versenden kann mache ich es jetzt einfach mal hier.

      Das Skript kommt von Looxer01 und Pax90, danke dafür.


      // Datum 21.07.2017
      // Autor: Looxer01
      // erweitern am 20.10.2017: Pax90
      // Programm Steuert den Xiaomi Sauger nach Wochenplan
      // Stunden, Minuten und Power können eingegeben werden.
      // Einstellbereich
      //
      var IDFlag = "javascript.0.Xiaomi.WeekSchedule"; // Schedule Path
      var xiaomiStart = "mihome-vacuum.0.control.start"; // bei true Starten des Saugvorganges
      var xiaomiState = "mihome-vacuum.0.info.state"; // bei False pause - bei true fortsetzen - toggle
      var xiaomiHome = "mihome-vacuum.0.control.home"; // bei state false und home true = go home
      var xiaomiSpeed = "mihome-vacuum.0.control.fan_power"; // Geschwindigkeit von 1-100
      // Ende einstellungen
      var StateWeekSchedule;
      //---------------------------------------------------------------------------------------------------
      // Create States können rausgenommen werden wenn einmal gelaufen
      //---------------------------------------------------------------------------------------------------
      CreateStates();
      //---------------------------------------------------------------------------------------------------
      //Auslesen der Zeit und Power zur Einplanung in die schedules
      //---------------------------------------------------------------------------------------------------
      // Montags
      StateWeekSchedule = IDFlag+ ".1-Monday-Start-Hour";
      var cronMoStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".1-Monday-Start-Minute";
      var cronMoMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".1-Monday-Power";
      var cronMoPower = getState(StateWeekSchedule).val; //Power
      // Dienstags
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Start-Hour";
      var cronDiStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Start-Minute";
      var cronDiMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Power";
      var cronDiPower = getState(StateWeekSchedule).val; //Power
      // Mittwochs
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Start-Hour";
      var cronMiStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Start-Minute";
      var cronMiMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Power";
      var cronMiPower = getState(StateWeekSchedule).val; //Power
      // Donnerstags
      StateWeekSchedule = IDFlag+ ".4-Thursday-Start-Hour";
      var cronDoStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".4-Thursday-Start-Minute";
      var cronDoMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".4-Thursday-Power";
      var cronDoPower = getState(StateWeekSchedule).val; //Power
      // Freitags
      StateWeekSchedule = IDFlag+ ".5-Friday-Start-Hour";
      var cronFrStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".5-Friday-Start-Minute";
      var cronFrMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".5-Friday-Power";
      var cronFrPower = getState(StateWeekSchedule).val; //Power
      // Samstags
      StateWeekSchedule = IDFlag+ ".6-Saturday-Start-Hour";
      var cronSaStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".6-Saturday-Start-Minute";
      var cronSaMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".6-Saturday-Power";
      var cronSaPower = getState(StateWeekSchedule).val; //Power
      // Sonntags
      StateWeekSchedule = IDFlag+ ".7-Sunday-Start-Hour";
      var cronSoStunde = getState(StateWeekSchedule).val; //Aktivzeit stunde
      StateWeekSchedule = IDFlag+ ".7-Sunday-Start-Minute";
      var cronSoMinute = getState(StateWeekSchedule).val; //Aktivzeit minute
      StateWeekSchedule = IDFlag+ ".7-Sunday-Power";
      var cronSoPower = getState(StateWeekSchedule).val; //Power
      //---------------------------------------------------------------------------------------------------
      // Die Schedules für jeden Tag der Woche
      //---------------------------------------------------------------------------------------------------
      schedule(cronMoMinute + " " + cronMoStunde +" * * 1", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".1-Monday";
      var Monday = getState(StateWeekSchedule).val;
      if (Monday) {
      log("Roboter eingeschaltet (Power: " + cronMoPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronMoPower));
      setStateDelayed(xiaomiStart,true,1000);
      }
      }); // end of schedule
      schedule(cronDiMinute + " " + cronDiStunde +" * * 2", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".2-Tuesday";
      var Tuesday = getState(StateWeekSchedule).val;
      if (Tuesday) {
      log("Roboter eingeschaltet (Power: " + cronDiPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronDiPower));
      setStateDelayed(xiaomiStart,true,1000);
      }
      }); // end of schedule
      schedule(cronMiMinute + " " + cronMiStunde +" * * 3", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".3-Wednesday";
      var Wednesday = getState(StateWeekSchedule).val;
      if (Wednesday) {
      log("Roboter eingeschaltet (Power: " + cronMiPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronMiPower));
      setStateDelayed(xiaomiStart,true,1000);
      }
      }); // end of schedule
      schedule(cronDoMinute + " " + cronDoStunde +" * * 4", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".4-Thursday";
      var Thursday = getState(StateWeekSchedule).val;
      if (Thursday) {
      log("Roboter eingeschaltet (Power: " + cronDoPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronDoPower));
      setStateDelayed(xiaomiStart,true,1000);
      }
      }); // end of schedule
      schedule(cronFrMinute + " " + cronFrStunde +" * * 5", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".5-Friday";
      var Friday = getState(StateWeekSchedule).val;
      if (Friday) {
      log("Roboter eingeschaltet (Power: " + cronFrPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronFrPower));
      setStateDelayed(xiaomiStart,true,1000);
      }
      }); // end of schedule
      schedule(cronSaMinute + " " + cronSaStunde +" * * 6", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".6-Saturday";
      var Saturday = getState(StateWeekSchedule).val;
      if (Saturday) {
      log("Roboter eingeschaltet (Power: " + cronSaPower + "%)" ,"info");
      setState(xiaomiSpeed,parseInt(cronSaPower));
      setStateDelayed(xiaomiStart,true,1000);

      }
      

      }); // end of schedule
      schedule(cronSoMinute + " " + cronSoStunde +" * * 7", function () { // jeden Tag um diese Uhrzeit
      StateWeekSchedule = IDFlag+ ".7-Sunday";
      var Sunday = getState(StateWeekSchedule).val;
      if (Sunday) {
      log("Roboter eingeschaltet (Power: " + cronSoPower + "%)" ,"info");

        setState(xiaomiSpeed,parseInt(cronSoPower));  
        setStateDelayed(xiaomiStart,true,1000);
      
      }
      

      }); // end of schedule
      //---------------------------------------------------------------------------------------------------
      // Funktion zum Anlegen der States
      //---------------------------------------------------------------------------------------------------
      function CreateStates() {
      // Montags
      StateWeekSchedule = IDFlag+ ".1-Monday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".1-Monday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".1-Monday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".1-Monday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Dienstags
      StateWeekSchedule = IDFlag+ ".2-Tuesday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".2-Tuesday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Mittwochs
      StateWeekSchedule = IDFlag+ ".3-Wednesday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".3-Wednesday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Donnerstags
      StateWeekSchedule = IDFlag+ ".4-Thursday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".4-Thursday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".4-Thursday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".4-Thursday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Freitags
      StateWeekSchedule = IDFlag+ ".5-Friday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".5-Friday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".5-Friday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".5-Friday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Samstags
      StateWeekSchedule = IDFlag+ ".6-Saturday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".6-Saturday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".6-Saturday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".6-Saturday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      // Sonntags
      StateWeekSchedule = IDFlag+ ".7-Sunday";
      createState(StateWeekSchedule, false, {read: true, write: true, type: 'boolean', name: 'Xiaomi Start Weekday', desc: 'Xiaomi Start Weekday'});
      StateWeekSchedule = IDFlag+ ".7-Sunday-Start-Hour";
      createState(StateWeekSchedule, 11, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Hour', desc: 'Xiaomi Start Starttime Hour'});
      StateWeekSchedule = IDFlag+ ".7-Sunday-Start-Minute";
      createState(StateWeekSchedule, 1, {read: true, write: true, type: 'number', name: 'Xiaomi Start Starttime Minute', desc: 'Xiaomi Start Starttime Minute'});
      StateWeekSchedule = IDFlag+ ".7-Sunday-Power";
      createState(StateWeekSchedule, 90, {read: true, write: true, type: 'number', name: 'Xiaomi Start Power', desc: 'Xiaomi Start Starttime Power'});
      }

      Da ich nicht mehr als 50.000 Zeichen Posten kann folgen die Widgets.

      1 Reply Last reply Reply Quote 1
      • cvidal
        cvidal Forum Testing last edited by

        Die Widgets haben auch mehr als 50.000 Zeichen.... Dann als Datei.
        Widgets Code.txt

        So sieht es dann aus:
        Widgets.PNG

        Gruß Christian

        B tobasium S 3 Replies Last reply Reply Quote 0
        • S
          sabphil22 last edited by

          Hi,

          Erstmals danke für das Skript und die Widgets
          Leider scheine ich zu blöd zu sein.....ich hab das Skript und die Widgets importiert. Die datenpunkte werden auch angelegt.
          Wenn ich im vis eine Uhrzeit wähle und die checkboxen aktiviere, tut sich beim Roboter nichts.
          Der roborock musste doch genauso reagieren oder? Verstehe leider auch nicht ganz wie getriggert wird, wann der Roboter starten soll...

          Grus sabphil

          1 Reply Last reply Reply Quote 0
          • cvidal
            cvidal Forum Testing last edited by

            Hast du das Skript mit deinen Datenpunkten angepasst? Ich habe keinen Roborock deshalb kann ich dir nicht sagen ob das die selben sind. Funktionieren sollte es mit deinem aber auch.
            Die Checkbox "Aktiviert" muss bei Änderung der Zeit aus/an geschaltet werden, hast du das gemacht?
            Getriggert wird einfach nach Zeitplan, passt deine Systemzeit?

            Gruß Christian

            1 Reply Last reply Reply Quote 0
            • S
              sabphil22 last edited by

              Hi,

              inwiefern angepasst? Die Checkbox habe ich gesetzt und auch die Systemzeit passt...
              Im VIS stelle ich die Zeit ein, setzte dann den Haken hinter dem Wochentag und dann bei "aktiviert". Sollte doch so korrekt sein oder?

              gruß philippe

              cvidal 1 Reply Last reply Reply Quote 0
              • cvidal
                cvidal Forum Testing @sabphil22 last edited by

                @sabphil22
                Die Datenpunkte sollten angepasst werden falls abweichend, ich habe dir das mal Markiert.
                Vacuum.PNG

                1 Reply Last reply Reply Quote 0
                • S
                  sabphil22 last edited by

                  @cvidal
                  die Datenpunkte passen....ist die vorgehensweise denn richtig?

                  1 Reply Last reply Reply Quote 0
                  • M
                    Manu.Oe last edited by

                    Du musst das Skript das beim drücken von "Aktivieren" ausgeführt wird anpassen auf deine Struktur. Also wo das Skript bei dir unter Javaskript.0 liegt

                    Gruß
                    Manu

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      sabphil22 @Manu.Oe last edited by

                      @Manu-Oe

                      Geil! Funktioniert! Vielen Dank!

                      Gruß Philippe

                      1 Reply Last reply Reply Quote 0
                      • B
                        bunni last edited by

                        Wie importiere ich das Script?

                        1 Reply Last reply Reply Quote 0
                        • cvidal
                          cvidal Forum Testing last edited by

                          Ein neues Javascript erstellen und dann einfach copy and paste.

                          1 Reply Last reply Reply Quote 0
                          • H
                            Hyperbit last edited by

                            Kurze Frage, wie hast du die Karte Importiert? Valetudo? (wenn ja, wie genau)

                            Issi 1 Reply Last reply Reply Quote 0
                            • Issi
                              Issi Developer @Hyperbit last edited by

                              @Hyperbit die Karte ist einfach nur ein Bild von der gesamt Reinigung

                              1 Reply Last reply Reply Quote 0
                              • H
                                Hyperbit last edited by

                                also statisch oder irgendwo abgegriffen 😃

                                Issi 1 Reply Last reply Reply Quote 0
                                • Issi
                                  Issi Developer @Hyperbit last edited by

                                  @Hyperbit einfach nur ein screenshot vom handy

                                  1 Reply Last reply Reply Quote 0
                                  • siggi85
                                    siggi85 last edited by

                                    Man kann den Robot aber auch rooten und dann die Live Karte im VIS einbinden. Habe dazu mal ein Video auf YouTube gesehen.

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Bluelightcrew @cvidal last edited by Bluelightcrew

                                      @cvidal sagte in Xiaomi Vacuum Wochenplan inkl. Widgets:

                                      Die Widgets haben auch mehr als 50.000 Zeichen.... Dann als Datei.
                                      Widgets Code.txt

                                      So sieht es dann aus:
                                      Widgets.PNG

                                      Gruß Christian

                                      Hey Christian ich habe mich an deinem vis bedient danke dafür mal,ziemlich cool!
                                      Jetzt hab ich natürlich noch paar anpassungen gemacht,zb bei der error liste.
                                      Die habe ich noch ein wenig erweitert,das problem ist das er jetzt nicht mehr die fehler anzeigt,hast du eine ahnung warum das so ist?Neue Bitmap.jpg

                                      cvidal 1 Reply Last reply Reply Quote 0
                                      • cvidal
                                        cvidal Forum Testing @Bluelightcrew last edited by

                                        @Bluelightcrew Werden keine Fehler mehr angezeigt oder nur diese nicht die du selber hinzugefügt hast?

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          Bluelightcrew @cvidal last edited by

                                          @cvidal
                                          Sorry für die späte Antwort, nur meine Fehler werden nicht angezeigt.
                                          Kannst du mir mal die vier Bilder von Bürste, Filter usw für reset bereit stellen? Danke!

                                          cvidal 2 Replies Last reply Reply Quote 0
                                          • cvidal
                                            cvidal Forum Testing @Bluelightcrew last edited by

                                            @Bluelightcrew
                                            Ich gehe mal davon aus das die Werte die du hinzugefügt hast noch im RAW des mihome-vacuum.0.info.error DP hinzugefügt werden müssen.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            877
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            21
                                            65
                                            10174
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo