Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Raumzuordnung in Skript

    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

    Raumzuordnung in Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • bahnuhr
      bahnuhr Forum Testing Most Active @Timo 2 last edited by bahnuhr

      @timo-2 sagte in Raumzuordnung in Skript:

      Ich seh bei mir nur das "true" nicht direkt (s. Screenshot oben), sondern dieses Button Symbol.

      Ich habe eigentlich deutlich geschrieben.
      Du musst true in den DP ".roomclean" schreiben.

      In dienem Screenshot sieht man sowas nicht !!!

      1e812fc1-9f2a-4b5b-9533-681a1b1a41af-image.png

      T 1 Reply Last reply Reply Quote 1
      • T
        Timo 2 @bahnuhr last edited by

        @bahnuhr Verstanden. Sorry hab da etwas wirr geschrieben. Ist schon spät 🙈

        Danke für den Ansatz. Sollte es so hinbekommen. Danke

        1 Reply Last reply Reply Quote 0
        • wendy2702
          wendy2702 @bahnuhr last edited by

          @bahnuhr sagte in Raumzuordnung in Skript:

          Fazit:

          Räume durch den Xiaomi anlegen lassen

          Hi,

          kannst du mir kurz sagen wie du das gemacht hast? Also auch Physikalisch mit dem Sauger das er z.B. nur das Wohnzimmer beackert, danach dann z.B. den Flur usw.

          Danke

          bahnuhr 1 Reply Last reply Reply Quote 0
          • bahnuhr
            bahnuhr Forum Testing Most Active @wendy2702 last edited by

            @wendy2702 sagte in Raumzuordnung in Skript:

            @bahnuhr sagte in Raumzuordnung in Skript:

            Fazit:

            Räume durch den Xiaomi anlegen lassen

            Hi,

            kannst du mir kurz sagen wie du das gemacht hast? Also auch Physikalisch mit dem Sauger das er z.B. nur das Wohnzimmer beackert, danach dann z.B. den Flur usw.

            Danke

            Lass den robo die ganze Räume saugen.
            Dann werden diese doch im Handy dargestellt.
            Kannst du dann noch bearbeiten und sogar benennen.

            Und diese Räume werden dann in iob mit Nr. dargestellt. Dann musst du nur rausfinden welcher Raum welche Nr. hat.

            wendy2702 1 Reply Last reply Reply Quote 0
            • wendy2702
              wendy2702 @bahnuhr last edited by

              @bahnuhr OK.

              Danke!

              bahnuhr 1 Reply Last reply Reply Quote 0
              • bahnuhr
                bahnuhr Forum Testing Most Active @wendy2702 last edited by

                @wendy2702

                Anbei mein Staubsauger Script.
                Bist doch auch js affin.
                Vielleicht kannst du es ja gebrauchen.

                
                // Mihome - Staubsauger
                
                var request = require('request'), logging = true, Auto_Sprache = 'javascript.0.System.Automatik.Sprachausgabe';
                var ID_Wz = "2803", ID_Kueche = "2831", ID_Buero = "2832", ID_Flur = "5081", ID_Sz = "2868", ID_Bad = "2870", ID_GaesteWC = "2902", ID_Arbeitsz = "3924"
                
                // Räume:       Erdgeschoss                     Kellergeschoss
                //              451001032803  Wohnzimmer        451001035078  ???
                //              451001032831  Küche             451001035079  ???
                //              451001032832  Büro              451001035080  ???
                //              451001035081  Flur
                //              451001032868  Schlafzimmer
                //              451001032870  Bad
                //              451001032902  Gäste WC
                //              451001033924  Arbeitszimmer
                
                
                // Zonen - Reinigung ----------------------------------------------------------------------------------------------
                on({id: "javascript.0.Geräte.Staubsauger.Taster_Zone", change: "ne", val:true}, function() {   // Taster wurde gedrückt
                    var Zone = [];
                    setState('mihome-vacuum.0.cleanmap.actualMap', 0);      // 0 = Erdgeschoss, 1 = Kellergeschoss
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Arbeitszimmer").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Arbeitsz + '.roomClean', true); Zone.push("Arbeitszimmer"); }}, 500);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Bad").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Bad + '.roomClean', true); Zone.push("Bad"); }}, 1000);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Büro").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Buero + '.roomClean', true); Zone.push("Büro"); }}, 1500);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Flur").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Flur + '.roomClean', true); Zone.push("Flur"); }}, 2000);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_GästeWC").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_GaesteWC + '.roomClean', true); Zone.push("Gäste WC"); }}, 2500);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Küche").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Kueche + '.roomClean', true); Zone.push("Küche"); }}, 3000);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Schlafzimmer").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Sz + '.roomClean', true); Zone.push("Schlafzimmer"); }}, 3500);
                    setTimeout(function() { if (getState("javascript.0.Geräte.Staubsauger.Zone_Wohnzimmer").val) { setState('mihome-vacuum.0.rooms.45100103' + ID_Wz + '.roomClean', true); Zone.push("Wohnzimmer"); }}, 4000);
                    setTimeout(function() { 
                        if (Zone.length == 0) {
                            if (Sprache === true || Sprache === 1) {
                                Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Gong").val);
                                setState('sayit.3.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/tos-computer-03.mp3');
                                setTimeout(function() { Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Text").val); }, 2800);
                                setTimeout(function() { setState('sayit.4.tts.text', "Achtung, zur Zonenreinigung muss mindestens 1 Raum angeklickt sein!")}, 3000);
                            }
                            log ("Zonenreinigung: Es wurde kein Raum angeklickt!");
                        } else {
                            var Sprache = getState(Auto_Sprache).val;
                            var Str_Zone = Zone.join(', ');
                            if (Sprache === true || Sprache === 1) {
                                Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Gong").val);
                                setState('sayit.3.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/tos-computer-03.mp3');
                                setTimeout(function() { Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Text").val); }, 2800);
                                setTimeout(function() { setState('sayit.4.tts.text', "ok, Die Zonenreinigung wird im " + Str_Zone + " ausgeführt!")}, 2000);
                            }
                            log ("Zonenreinigung wird im " + Str_Zone + " durchgeführt!");
                        }
                    }, 5000);
                });
                
                
                
                // Fahre zum Mülleimer ----------------------------------------------------------------------------------------------
                on({id: "javascript.0.Geräte.Staubsauger.Taster_Muell", change: "ne", val:true}, function() {   // Taster wurde gedrückt
                        var Sprache = getState(Auto_Sprache).val;
                        if (Sprache === true || Sprache === 1) {
                            Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Gong").val);
                            setState('sayit.3.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/tos-computer-03.mp3');
                            setTimeout(function() { Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_Text").val); }, 2800);
                            setTimeout(function() { setState('sayit.4.tts.text', "ok, Der Staubsauger fährt zum Mülleimer!")}, 2000);
                        }
                    //setState('mihome-vacuum.0.control.fan_power', 104);     // Beschleunige die Fahrt auf 100%
                    setStateDelayed('mihome-vacuum.0.control.goTo', "17500,29300", 3000);
                    //setStateDelayed('mihome-vacuum.0.control.X_send_command','app_goto_target; [17350,22600]', 3000);
                    //setStateDelayed('mihome-vacuum.0.control.fan_power', 102, 300000);     // nach 5 Minuten die Power wieder auf 50%
                });
                
                
                
                
                // Dialog Karte aufrufen
                    on({id: "javascript.0.Geräte.Staubsauger.Karte.Aufruf_Dialog", change: "ne", val: true}, function() {   
                        setState('vis.0.control.data',  'w02633'); // hier ist Widget-name
                        setState('vis.0.control.instance',  'FFFFFFFF');
                        setState('vis.0.control.command', 'dialogOpen');
                        setStateDelayed("javascript.0.Geräte.Staubsauger.Karte.Aufruf_Dialog",false,1000);
                    });
                
                
                
                
                
                
                // Error, Text in Variable schreiben ----------------------------------------------------------------------------------------------
                
                on({id: "mihome-vacuum.0.info.error", change: "ne"}, function(obj){     
                    var v_Error = getState('mihome-vacuum.0.info.error').val; 
                    var v_Text = "";
                    if (v_Error === 0) v_Text = "no Error";
                    if (v_Error === 1) v_Text = "Laser distance sensor error";
                    if (v_Error === 2) v_Text = "Collision sensor error";
                    if (v_Error === 3) v_Text = "Wheels on top of void, move robot";
                    if (v_Error === 4) v_Text = "Clean hovering sensors, move robot";
                    if (v_Error === 5) v_Text = "Clean main brush";
                    if (v_Error === 6) v_Text = "Clean side brush";
                    if (v_Error === 7) v_Text = "Main wheel stuck?";
                    if (v_Error === 8) v_Text = "Device stuck, clean area";
                    if (v_Error === 9) v_Text = "Dust collector missing";
                    if (v_Error === 10) v_Text = "Clean filter";
                    if (v_Error === 11) v_Text = "Stuck in magnetic barrier";
                    if (v_Error === 12) v_Text = "Low battery";
                    if (v_Error === 13) v_Text = "Charging fault";
                    if (v_Error === 14) v_Text = "Battery fault";
                    if (v_Error === 15) v_Text = "Wall sensors dirty, wipe them";
                    if (v_Error === 16) v_Text = "Place me on flat surface";
                    if (v_Error === 17) v_Text = "Side brushes problem, reboot me";
                    if (v_Error === 18) v_Text = "Suction fan problem";
                    if (v_Error === 19) v_Text = "Unpowered charging station";
                    setState("javascript.0.Geräte.Staubsauger.Mihome_Text_Error", v_Text);
                
                    if (v_Error > 0) {
                        log("Auslöser: Mihome Staubsauger hat Error !");
                        sendTo('telegram', "Achtung, Achtung! \nDer Mihome Staubsauger hat folgenden Error:\n" + v_Text);  
                        View_change ('Geraete', 0); 
                        //Sound
                            var request = require ('request');
                            Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_laut").val);
                            setState('sayit.3.tts.text', '/opt/iobroker/iobroker-data/files/vis.0/mp3/tng_red_alert2.mp3');
                            setTimeout(function() { Tablet_Lautstaerke(getState("javascript.0.System.Sonstige.Laut_laut").val); }, 2800);
                            setTimeout(function() { setState('sayit.4.tts.text', "Achtung, Achtung! Der Robo Staubsauger hat Error"); }, 6000);
                        View_change ('Titel', 30000); 
                    }
                });
                
                
                // Taster gedrückt ----------------------------------------------------------------------------------------------
                
                on({id: "javascript.0.Geräte.Staubsauger.Taster.Start", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.control.start', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.control.start', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.Start', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.Pause", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.control.pause', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.control.pause', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.Pause', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.Home", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.control.home', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.control.home', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.Home', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.Find", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.control.find', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.control.find', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.Find', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.filter", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.consumable.filter_reset', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.consumable.filter_reset', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.filter', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.main_brush", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.consumable.main_brush_reset', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.consumable.main_brush_reset', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.main_brush', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.side_brush", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.consumable.side_brush_reset', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.consumable.side_brush_reset', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.side_brush', false);; }, 2000);
                });
                on({id: "javascript.0.Geräte.Staubsauger.Taster.sensors", change: "ne", val: true}, function(obj){     
                    setState('mihome-vacuum.0.consumable.sensors_reset', true);
                    setTimeout(function(){ setState('mihome-vacuum.0.consumable.sensors_reset', false); }, 2000);
                    setTimeout(function(){ setState('javascript.0.Geräte.Staubsauger.Taster.sensors', false);; }, 2000);
                });
                
                

                In vis sieht es dann bei mir so aus:
                a12ebf70-a630-47b4-bd78-2434ea0249ad-image.png

                wendy2702 1 Reply Last reply Reply Quote 1
                • wendy2702
                  wendy2702 @bahnuhr last edited by

                  @bahnuhr Danke.

                  Du verwendest für dein VIS ein ähnliches Design wie ich, ob du mir einen Export vom View bereitstellen würdest?

                  bahnuhr 1 Reply Last reply Reply Quote 0
                  • bahnuhr
                    bahnuhr Forum Testing Most Active last edited by

                    @wendy2702 sagte in Raumzuordnung in Skript:

                    @bahnuhr Danke.

                    Du verwendest für dein VIS ein ähnliches Design wie ich, ob du mir einen Export vom View bereitstellen würdest?

                    Na klar.
                    Anbei die o.g. widgets (keine view)

                    widgets.txt

                    wendy2702 1 Reply Last reply Reply Quote 0
                    • wendy2702
                      wendy2702 @bahnuhr last edited by

                      @bahnuhr danke.

                      Morgen was zu tun während der Saugsklave die Gegend erkundet.

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @wendy2702 last edited by

                        @wendy2702

                        Und hier noch ein kleines Script um die DP anzulegen.

                        // Staubsauger -------------------------------------------------------------------------------------------------------------
                        createState('javascript.0.Geräte.Staubsauger.Zone_Arbeitszimmer', true, {type: 'boolean',name: 'Zone_Arbeitszimmer',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Bad', true, {type: 'boolean',name: 'Zone_Bad',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Büro', true, {type: 'boolean',name: 'Zone_Büro',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Flur', true, {type: 'boolean',name: 'Zone_Flur',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_GästeWC', true, {type: 'boolean',name: 'Zone_Gäaste WC',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Küche', true, {type: 'boolean',name: 'Zone_Küche',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Schlafzimmer', true, {type: 'boolean',name: 'Zone_Schlafzimmer',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Zone_Wohnzimmer', true, {type: 'boolean',name: 'Zone_Wohnzimmer',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Taster_Zone',false, {type: 'boolean',name: 'Taster _ Zone _ ausführen',read: true,write: true,role: 'per Script'});
                        createState('javascript.0.Geräte.Staubsauger.Taster_Muell',false, {type: 'boolean',name: 'Taster _ Muell',read: true,write: true,role: 'per Script'});
                        
                        
                        wendy2702 1 Reply Last reply Reply Quote 0
                        • wendy2702
                          wendy2702 @bahnuhr last edited by

                          @bahnuhr Hi,

                          in dem großen Script gibt und auch in den Wisgest es ja noch ein paar mehr DP's als in dem um die DP's anzulegen.

                          Hast du die auch manuel angelegt oder woher sind die?

                          Z.B. Geräte.Staubsauger.Taster.Home

                          Hast du bestimmtest CSS oder was anderes hinterlegt? Wenn ich die Widgets importiere sieht das so verschoben aus?

                          8e1641dc-a21f-4b48-91af-59a28270df79-image.png

                          bahnuhr 1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @wendy2702 last edited by

                            @wendy2702 sagte in Raumzuordnung in Skript:

                            Z.B. Geräte.Staubsauger.Taster.Home

                            genau 1 thread vorher steht doch, dass du diese manuell anlegen musst.
                            Und sogar die Scripte schon dabei.

                            wendy2702 1 Reply Last reply Reply Quote 0
                            • wendy2702
                              wendy2702 @bahnuhr last edited by

                              @bahnuhr in deinem Script zum anlegen der DP‘s fehlt zum Beispiel genau dieser aber.

                              Deshalb die Frage

                              bahnuhr 1 Reply Last reply Reply Quote 0
                              • bahnuhr
                                bahnuhr Forum Testing Most Active @wendy2702 last edited by

                                @wendy2702 sagte in Raumzuordnung in Skript:

                                @bahnuhr in deinem Script zum anlegen der DP‘s fehlt zum Beispiel genau dieser aber.

                                Deshalb die Frage

                                Ah, ok.
                                Musst die Punkte mal durchschauen.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                413
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                4
                                21
                                1067
                                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