Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Please move the states to 0_userdata.0.*

NEWS

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

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

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

Please move the states to 0_userdata.0.*

Scheduled Pinned Locked Moved JavaScript
56 Posts 14 Posters 6.3k Views 16 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • apollon77A apollon77

    @peschu Das kanns aber jicht sein weil die meldung nur kommt wenn du states anlegst! (createState) ... keine ahnung was blockyly da tut

    HomoranH Do not disturb
    HomoranH Do not disturb
    Homoran
    Global Moderator Administrators
    wrote on last edited by
    #38

    @apollon77 sagte in Please move the states to 0_userdata.0.*:

    weil die meldung nur kommt wenn du states anlegst! (

    sicher?
    nicht auch wenn ein DP in dem Verzeichnis angesprochen wird?

    @peschu hat sich erledigt. Dein Skript heisst so?

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

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

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

    P 1 Reply Last reply
    0
    • HomoranH Homoran

      @apollon77 sagte in Please move the states to 0_userdata.0.*:

      weil die meldung nur kommt wenn du states anlegst! (

      sicher?
      nicht auch wenn ein DP in dem Verzeichnis angesprochen wird?

      @peschu hat sich erledigt. Dein Skript heisst so?

      P Offline
      P Offline
      peschu
      wrote on last edited by
      #39

      @homoran
      Jetzt stehe ich auf dem Schlauch. der Datenpunkt dürfte vom Script kommen, weil das so heißt und sich auch in dem entsprechenden Ordner befindet.

      Das ist das gesamte Script:

      100eeabe-4fbb-4a0a-8348-a03aff4d5196-image.png

      R 1 Reply Last reply
      0
      • P peschu

        @homoran
        Jetzt stehe ich auf dem Schlauch. der Datenpunkt dürfte vom Script kommen, weil das so heißt und sich auch in dem entsprechenden Ordner befindet.

        Das ist das gesamte Script:

        100eeabe-4fbb-4a0a-8348-a03aff4d5196-image.png

        R Offline
        R Offline
        RaBu60
        wrote on last edited by RaBu60
        #40

        Ich habe auch dieses Problem :slightly_frowning_face:

        Hier die Struktur unter Javascript:
        Screenshot 2023-06-24 141914.png

        Wenn ich nun folgendes JS starte (ist wirklich nur ein Einzeiler)

        setState("javascript.0.scriptEnabled.Hydrawise.Hydrawise", false, true);
        

        erhalte ich
        Screenshot 2023-06-24 142210 a.png

        Den Datenpunkt unter javascript.0... habe ich nicht selbst angelegt.

        Wie kann ich diesen Log-Eintrag unterdrücken?
        Die Version des JS-Adapters ist 7.0.3

        Thomas BraunT apollon77A 2 Replies Last reply
        0
        • R RaBu60

          Ich habe auch dieses Problem :slightly_frowning_face:

          Hier die Struktur unter Javascript:
          Screenshot 2023-06-24 141914.png

          Wenn ich nun folgendes JS starte (ist wirklich nur ein Einzeiler)

          setState("javascript.0.scriptEnabled.Hydrawise.Hydrawise", false, true);
          

          erhalte ich
          Screenshot 2023-06-24 142210 a.png

          Den Datenpunkt unter javascript.0... habe ich nicht selbst angelegt.

          Wie kann ich diesen Log-Eintrag unterdrücken?
          Die Version des JS-Adapters ist 7.0.3

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          wrote on last edited by
          #41

          @rabu60 sagte in Please move the states to 0_userdata.0.*:

          Wie kann ich diesen Log-Eintrag unterdrücken?

          Du willst das nicht unterdrücken sondern die Ursache beseitigen. Kann sonst ggfs . in künftigen Versionen zu einem Fehler führen.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          R 1 Reply Last reply
          0
          • Thomas BraunT Thomas Braun

            @rabu60 sagte in Please move the states to 0_userdata.0.*:

            Wie kann ich diesen Log-Eintrag unterdrücken?

            Du willst das nicht unterdrücken sondern die Ursache beseitigen. Kann sonst ggfs . in künftigen Versionen zu einem Fehler führen.

            R Offline
            R Offline
            RaBu60
            wrote on last edited by
            #42

            @thomas-braun sagte in Please move the states to 0_userdata.0.*:

            Du willst das nicht unterdrücken sondern die Ursache beseitigen. Kann sonst ggfs . in künftigen Versionen zu einem Fehler führen.

            Klar, unterdrücken wäre wirklich suboptimal :wink:

            Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern ohne diesen Log-Eintrag zu erhalten
            Mache ich irgendetwas falsch?

            Thomas BraunT 1 Reply Last reply
            0
            • R RaBu60

              @thomas-braun sagte in Please move the states to 0_userdata.0.*:

              Du willst das nicht unterdrücken sondern die Ursache beseitigen. Kann sonst ggfs . in künftigen Versionen zu einem Fehler führen.

              Klar, unterdrücken wäre wirklich suboptimal :wink:

              Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern ohne diesen Log-Eintrag zu erhalten
              Mache ich irgendetwas falsch?

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              wrote on last edited by
              #43

              @rabu60 sagte in Please move the states to 0_userdata.0.*:

              Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

              Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              R 1 Reply Last reply
              0
              • Thomas BraunT Thomas Braun

                @rabu60 sagte in Please move the states to 0_userdata.0.*:

                Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                R Offline
                R Offline
                RaBu60
                wrote on last edited by
                #44

                @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                @rabu60 sagte in Please move the states to 0_userdata.0.*:

                Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                und ggfs. wieder starten.

                Welcher DP bzw. Verzeichnis wäre das Richtige?

                DJMarc75D T 2 Replies Last reply
                0
                • R RaBu60

                  @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                  @rabu60 sagte in Please move the states to 0_userdata.0.*:

                  Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                  Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                  Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                  und ggfs. wieder starten.

                  Welcher DP bzw. Verzeichnis wäre das Richtige?

                  DJMarc75D Online
                  DJMarc75D Online
                  DJMarc75
                  wrote on last edited by
                  #45

                  @rabu60 sagte in Please move the states to 0_userdata.0.*:

                  Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                  und ggfs. wieder starten.

                  Warum will man sowas machen ?

                  Hat wenig Sinn.

                  Lehrling seit 1975 !!!
                  Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                  https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                  R 1 Reply Last reply
                  0
                  • DJMarc75D DJMarc75

                    @rabu60 sagte in Please move the states to 0_userdata.0.*:

                    Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                    und ggfs. wieder starten.

                    Warum will man sowas machen ?

                    Hat wenig Sinn.

                    R Offline
                    R Offline
                    RaBu60
                    wrote on last edited by RaBu60
                    #46

                    @djmarc75
                    Nun, ich habe das Script 1, welches über schedule regelmäßig Abfragen über den Status meiner Beregnungsanlage abfrägt.
                    Ich habe Datenpunkte unter 0_userdata.* angelegt, die die Settings (z.B. Request-URL,
                    Abfrageintervall etc.) beinhalten.
                    Wenn ich nun Settings ändere, und da ist z.B. das Abfrageintervall welches die schedule-Zeiten betreffen, möchte ich das Script nicht manuell stoppen und wieder starten müssen.
                    Das soll z.B. Script 2 , welches weitere DPs "überwacht" für mich erledigen.

                    Ich hoffe ich konnte das etwas verständlich rüberbringen :blush:

                    DJMarc75D 1 Reply Last reply
                    0
                    • R RaBu60

                      @djmarc75
                      Nun, ich habe das Script 1, welches über schedule regelmäßig Abfragen über den Status meiner Beregnungsanlage abfrägt.
                      Ich habe Datenpunkte unter 0_userdata.* angelegt, die die Settings (z.B. Request-URL,
                      Abfrageintervall etc.) beinhalten.
                      Wenn ich nun Settings ändere, und da ist z.B. das Abfrageintervall welches die schedule-Zeiten betreffen, möchte ich das Script nicht manuell stoppen und wieder starten müssen.
                      Das soll z.B. Script 2 , welches weitere DPs "überwacht" für mich erledigen.

                      Ich hoffe ich konnte das etwas verständlich rüberbringen :blush:

                      DJMarc75D Online
                      DJMarc75D Online
                      DJMarc75
                      wrote on last edited by
                      #47

                      @rabu60 sagte in Please move the states to 0_userdata.0.*:

                      Ich hoffe ich konnte das etwas verständlich rüberbringen

                      für mich nicht... und ist das Skript geheim ? Wir sind hier keine Hellseher.

                      Lehrling seit 1975 !!!
                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                      R 1 Reply Last reply
                      0
                      • DJMarc75D DJMarc75

                        @rabu60 sagte in Please move the states to 0_userdata.0.*:

                        Ich hoffe ich konnte das etwas verständlich rüberbringen

                        für mich nicht... und ist das Skript geheim ? Wir sind hier keine Hellseher.

                        R Offline
                        R Offline
                        RaBu60
                        wrote on last edited by
                        #48

                        @djmarc75 sagte in Please move the states to 0_userdata.0.*:

                        @rabu60 sagte in Please move the states to 0_userdata.0.*:

                        Ich hoffe ich konnte das etwas verständlich rüberbringen

                        für mich nicht... und ist das Skript geheim ? Wir sind hier keine Hellseher.

                        Natürlich ist das Script nicht geheim...

                        Hier der Code, der die regelmäßige Abfrage macht (Scripname Hydrawise):

                        var source_dp = '0_userdata.0.Hydrawise';
                        var dpSettings = source_dp+".Settings";
                        var dpAPI_Key = dpSettings+".API_Key";
                        var dpInterval = dpSettings+".interval";
                        
                        var debugNoLog = 'nolog';
                        var debugInfo = 'info';
                        var debugWarn = 'warn';
                        var debugError = 'error';
                        var debugMode = debugNoLog;
                        
                        var iIntervall = function(){
                        	let iTime;
                        	
                        	iTime=getState(dpInterval).val;
                        	if ((iTime == 0)||(iTime == 1)){
                        		return '* * * * *';
                        	} else {
                        		return '*/'+iTime.toString()+' * * * *';
                        	}
                        };
                        
                        // @ts-ignore
                        let oSchedule = schedule(iIntervall(), function(){
                            let vAPI_key = getState(dpAPI_Key).val;
                        	
                            if (debugMode != debugNoLog){
                                console.log('Anfrage an Hydrawise gestartet');
                            };
                        
                        	//Customer und Controller Infos holen
                        	var url='https://app.hydrawise.com/api/v1/customerdetails.php?api_key='+vAPI_key
                        	request({url : url}, function (error, response, body) {
                                let data;
                        
                                if (body.toLowerCase() === 'api key not valid') {
                                    console.error(body);
                                } else {
                                    try {
                                        data=JSON.parse(body);
                                        GetCustomerAndController(data);
                                    } catch(e) {
                                        switch(debugMode) {
                                        case debugWarn:
                                            console.warn('Hydrawise Customer und Controller:'+body);
                                            break;
                                        case debugError:
                                            console.error('Hydrawise Customer und Controller:'+body);
                                            break;
                                        case debugInfo:
                                            console.log('Hydrawise Customer und Controller:'+body); //debugMessage);
                                        default:
                                        }
                                    }
                                }
                        	});
                         
                        	//Zonen und Sensoren Infos holen
                        	var url='https://app.hydrawise.com/api/v1/statusschedule.php?api_key='+vAPI_key
                        	request({url : url}, function (error, response, body) {
                                let data;
                                if (body.toLowerCase() === 'api key not valid') {
                                    console.error(body);
                                } else {
                                    try {
                                        data=JSON.parse(body);
                                        GetRelaysAndSensors(data);
                                    } catch(e) {
                                        switch(debugMode) {
                                        case debugWarn:
                                            console.warn('Hydrawise Zonen und Sensoren: '+body);
                                            break;
                                        case debugError:
                                            console.error('Hydrawise Zonen und Sensoren: '+body);
                                            break;
                                        case debugInfo:
                                            console.log('Hydrawise Zonen und Sensoren:'+body);
                                        default:
                                        }
                                    }
                                }
                        	});
                        
                            if (debugMode != debugNoLog){
                                console.log('Hydrawise Abfrage beendet');
                            };
                        })
                        
                        /**
                        * @param {string} DataPoint
                        * @param {string} DP_Desc
                        */
                        
                        function SetDatapoint (DataPoint, DP_Desc, DP_value){
                            if (existsState(DataPoint)==false){
                         		createState(DataPoint, {
                        					name: DP_Desc,
                        					desc: DP_Desc,
                        					type: typeof DP_value,
                        					role: 'state'
                        				   });
                                };
                        	setState(DataPoint, DP_value, true );
                        }
                        
                        function GetCustomerAndController(data){
                        	var UserInfos  = source_dp + '.UserInfo';
                        	var Controller = source_dp + '.Controller';
                        
                        	SetDatapoint (UserInfos  + '.customer_id', 'Customer ID', data.customer_id);
                        	SetDatapoint (Controller  + '.name', 'Name of controller', data.controllers[0].name);
                        	SetDatapoint (Controller  + '.last_contact', 'Last time we contacted controller (Timestamp)', data.controllers[0].last_contact);
                            SetDatapoint (Controller  + '.lastContact', 'Last time we contacted controller', getTimeFormat(data.controllers[0].last_contact*1000));
                        	SetDatapoint (Controller  + '.serial_number', 'Serial number of controller', data.controllers[0].serial_number);
                        	SetDatapoint (Controller  + '.controller_id', 'Unique ID of controller', data.controllers[0].controller_id);
                        };
                         
                        function GetRelaysAndSensors(data){
                        	if ('undefined' !== typeof  data.relays){    	
                        		var Zones  = source_dp + '.Zones.Zone_';
                        		var Sensor = source_dp + '.Sensors.Sensor_';
                                
                                let tsnow=(Date.now());
                        
                        		//Alle Zoneninfos aus JSON lesen
                        		for (var i = 0; i < data.relays.length; i++) { 
                        			SetDatapoint (Zones + data.relays[i].relay + '.relay_id', 'ID of the zone',data.relays[i].relay_id);
                        			SetDatapoint (Zones + data.relays[i].relay + '.time', 'Number of seconds until the next programmed run',data.relays[i].time);
                        			SetDatapoint (Zones + data.relays[i].relay + '.next_runtime', 'Next time this zone will run',getTimeFormat(tsnow+data.relays[i].time*1000));
                                    SetDatapoint (Zones + data.relays[i].relay + '.run', 'Length of next run time',data.relays[i].run);
                        			SetDatapoint (Zones + data.relays[i].relay + '.run_min', 'Length of next run time in minutes',Math.round(data.relays[i].run/60));
                        			if (getState(Zones + data.relays[i].relay + '.name').val.slice(0, data.relays[i].name.length) != data.relays[i].name) {
                        				SetDatapoint (Zones + data.relays[i].relay + '.name', 'Zone name',data.relays[i].name);
                                    };
                        			SetDatapoint (Zones + data.relays[i].relay + '.relay', 'Zone number',data.relays[i].relay);
                        			SetDatapoint (Zones + data.relays[i].relay + '.type', 'Zone type',data.relays[i].type);
                        			SetDatapoint (Zones + data.relays[i].relay + '.period', 'Period',data.relays[i].period);
                        			SetDatapoint (Zones + data.relays[i].relay + '.timestr', 'Next time this zone will water in a friendly string format',data.relays[i].timestr);
                        			SetDatapoint (Zones + data.relays[i].relay + '.stop', 'Stop',data.relays[i].stop);
                        			SetDatapoint (Zones + data.relays[i].relay + '.sensor_0', 'Depending on sensor port 1',false);
                        			SetDatapoint (Zones + data.relays[i].relay + '.sensor_1', 'Depending on sensor port 2',false);
                        	
                        			//Sensoren für diese Zone?
                        			if ('undefined' !== typeof  data.sensors){    
                        				for (var s = 0; s < data.sensors.length; s++) {
                        					setState(Zones + data.relays[i].relay + '.sensor_' + s, false, true );
                        					
                        					if ('undefined' !== typeof  data.sensors[s].relays){ 
                        						for (var j = 0; j < data.sensors[s].relays.length; j++) 
                        						{
                        							if (data.sensors[s].relays[j].id == data.relays[i].relay_id){
                        								setState(Zones + data.relays[i].relay + '.sensor_' + s, true, true );								
                        							}							
                        						}
                        					}
                        				}
                        			}
                        		}
                        		//Alle Sensoreninfos aus JSON lesen
                        		if ('undefined' !== typeof  data.sensors){    
                        			for (var i = 0; i < data.sensors.length; i++) {
                        				SetDatapoint (Sensor + data.sensors[i].input + '.input', 'Input port',data.sensors[i].input);
                        				SetDatapoint (Sensor + data.sensors[i].input + '.type', 'Sensor type',data.sensors[i].type);
                                        switch (data.sensors[i].type) {
                                            case 1:
                                                SetDatapoint (Sensor + data.sensors[i].input + '.typ', 'Type of sensor','Rain sensor');
                                                break;
                                            case 2:
                                                SetDatapoint (Sensor + data.sensors[i].input + '.typ', 'Type of sensor','Flow meter');
                                                break;
                                            default:
                                                SetDatapoint (Sensor + data.sensors[i].input + '.typ', 'Type of sensor','Custom');
                                        }
                        				SetDatapoint (Sensor + data.sensors[i].input + '.mode', 'Sensor mode',data.sensors[i].mode);
                        				SetDatapoint (Sensor + data.sensors[i].input + '.timer', 'Timer',data.sensors[i].timer);
                        				SetDatapoint (Sensor + data.sensors[i].input + '.offtimer', 'offtimer',data.sensors[i].offtimer);
                        			}
                        		}
                        	}
                        	else
                        	{
                        		console.warn('No response from Hydrawise')
                        	};
                        };
                        
                        function getTimeFormat(data) {
                            let date=new Date(data);
                        
                            return (("0"+date.getDate()).slice(-2)+
                                  "-"+("0"+(date.getMonth()+1)).slice(-2)+
                                  "-"+date.getFullYear()+
                                  " "+("0"+date.getHours()).slice(-2)+
                                  ":"+("0"+date.getMinutes()).slice(-2)+
                                  ":"+("0"+date.getSeconds()).slice(-2));
                            };
                        
                        // bei Scriptstop
                        onStop (function scriptStop () {
                            clearSchedule(oSchedule);
                        }, 1000);
                        
                        

                        ... und hier das Script welches "Hydrawise" stoppen und wieder starten soll:

                        var source_dp = '0_userdata.0.Hydrawise';
                        var sdpSettings=source_dp+'.Settings';
                        var dpScripts = 'javascript.0.scriptEnabled.Hydrawise';
                        
                        on({id: [].concat(Array.prototype.slice.apply($("state[state.id="+sdpSettings+".*]"))), change: "ne"}, async function (obj) {
                            setState(dpScripts + ".Hydrawise", false, true);
                            setStateDelayed(dpScripts + ".Hydrawise", true, false, 5000, false);
                        });
                        
                        
                        1 Reply Last reply
                        0
                        • R RaBu60

                          @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                          @rabu60 sagte in Please move the states to 0_userdata.0.*:

                          Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                          Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                          Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                          und ggfs. wieder starten.

                          Welcher DP bzw. Verzeichnis wäre das Richtige?

                          T Do not disturb
                          T Do not disturb
                          ticaki
                          wrote on last edited by ticaki
                          #49

                          @rabu60 sagte in Please move the states to 0_userdata.0.*:

                          @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                          @rabu60 sagte in Please move the states to 0_userdata.0.*:

                          Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                          Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                          Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                          und ggfs. wieder starten.

                          startScript('scriptName', ignoreIfStarted, callback);
                          
                          Beispiel: Skript im Ordner Test, Name: Skript 1
                          startScript('Test.Skript_1')
                          
                          stopScript('scriptName', callback);
                          

                          Dafür gibt es Befehle.

                          Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                          Spenden

                          R O 2 Replies Last reply
                          0
                          • T ticaki

                            @rabu60 sagte in Please move the states to 0_userdata.0.*:

                            @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                            @rabu60 sagte in Please move the states to 0_userdata.0.*:

                            Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                            Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                            Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                            und ggfs. wieder starten.

                            startScript('scriptName', ignoreIfStarted, callback);
                            
                            Beispiel: Skript im Ordner Test, Name: Skript 1
                            startScript('Test.Skript_1')
                            
                            stopScript('scriptName', callback);
                            

                            Dafür gibt es Befehle.

                            R Offline
                            R Offline
                            RaBu60
                            wrote on last edited by
                            #50

                            @ticaki sagte in Please move the states to 0_userdata.0.*:

                            @rabu60 sagte in Please move the states to 0_userdata.0.*:

                            @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                            @rabu60 sagte in Please move the states to 0_userdata.0.*:

                            Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                            Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                            Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                            und ggfs. wieder starten.

                            startScript('scriptName', ignoreIfStarted, callback);
                            
                            Beispiel: Skript im Ordner Test, Name: Skript 1
                            startScript('Test.Skript_1')
                            
                            stopScript('scriptName', callback);
                            

                            Dafür gibt es Befehle.

                            Wow, das war's :+1:
                            Vielen Dank für die Unterstützung:clap:

                            1 Reply Last reply
                            0
                            • T ticaki

                              @rabu60 sagte in Please move the states to 0_userdata.0.*:

                              @thomas-braun sagte in Please move the states to 0_userdata.0.*:

                              @rabu60 sagte in Please move the states to 0_userdata.0.*:

                              Aber es sollte doch möglich sein, diesen Datenpunkt per Script zu ändern

                              Wenn es im dafür vorgesehenen Verzeichnis passiert erscheint auch keine Meldung.

                              Nun, ich möchte per Script ein anderes Script (in diesem Falle "Hydrawise") stoppen
                              und ggfs. wieder starten.

                              startScript('scriptName', ignoreIfStarted, callback);
                              
                              Beispiel: Skript im Ordner Test, Name: Skript 1
                              startScript('Test.Skript_1')
                              
                              stopScript('scriptName', callback);
                              

                              Dafür gibt es Befehle.

                              O Offline
                              O Offline
                              Olivbus
                              wrote on last edited by Olivbus
                              #51

                              @ticaki "startScript('scriptName', ignoreIfStarted, callback)" gibt es für diesen Befehl auch ein blockly Baustein?

                              T 1 Reply Last reply
                              0
                              • O Olivbus

                                @ticaki "startScript('scriptName', ignoreIfStarted, callback)" gibt es für diesen Befehl auch ein blockly Baustein?

                                T Do not disturb
                                T Do not disturb
                                ticaki
                                wrote on last edited by ticaki
                                #52

                                @olivbus sagte in Please move the states to 0_userdata.0.*:

                                @ticaki "startScript('scriptName', ignoreIfStarted, callback)" gibt es für diesen Befehl auch ein blockly Baustein?

                                soweit ich das sehe nein, aber kannst du dir ja selbst bauen.
                                Schreibe in eine Variable (die umbenannt wurde in z.B. variablename) den Scriptnamen z.B. Test.Skript_1
                                Dann nimm aus Funktionen das 4. von oben gibst ihr einen brauchbaren Namen und kicke auf die 3 Punkte dort gibts du dann:

                                startScript(variablename)
                                

                                jetzt müsste in Funktionen ab der 6. von oben deine Funktion auftauchen, die du wie einen Blocklybaustein verwenden kannst. Must halt vorher den zu verwendeten Wert in die Variable schreiben.

                                wie du bestimmt gesehen hast, muss der name im Skript dem Namen der Variable entsprechen

                                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                Spenden

                                O 1 Reply Last reply
                                0
                                • T ticaki

                                  @olivbus sagte in Please move the states to 0_userdata.0.*:

                                  @ticaki "startScript('scriptName', ignoreIfStarted, callback)" gibt es für diesen Befehl auch ein blockly Baustein?

                                  soweit ich das sehe nein, aber kannst du dir ja selbst bauen.
                                  Schreibe in eine Variable (die umbenannt wurde in z.B. variablename) den Scriptnamen z.B. Test.Skript_1
                                  Dann nimm aus Funktionen das 4. von oben gibst ihr einen brauchbaren Namen und kicke auf die 3 Punkte dort gibts du dann:

                                  startScript(variablename)
                                  

                                  jetzt müsste in Funktionen ab der 6. von oben deine Funktion auftauchen, die du wie einen Blocklybaustein verwenden kannst. Must halt vorher den zu verwendeten Wert in die Variable schreiben.

                                  wie du bestimmt gesehen hast, muss der name im Skript dem Namen der Variable entsprechen

                                  O Offline
                                  O Offline
                                  Olivbus
                                  wrote on last edited by Olivbus
                                  #53

                                  @ticaki vielen Dank für die super schnelle Antwort.
                                  Habe es ausprobiert. Es geht auch ohne Anlage einer Variable. Einfach in dem Baustein:
                                  4e749faf-c434-45c7-adb7-57ca4901281d-image.png
                                  die drei Punkte anklicken und den Befehl:

                                  startScript('Name des Scripts')
                                  

                                  eingeben. (Die Anführungszeichen nicht vergessen.)

                                  T 1 Reply Last reply
                                  0
                                  • O Olivbus

                                    @ticaki vielen Dank für die super schnelle Antwort.
                                    Habe es ausprobiert. Es geht auch ohne Anlage einer Variable. Einfach in dem Baustein:
                                    4e749faf-c434-45c7-adb7-57ca4901281d-image.png
                                    die drei Punkte anklicken und den Befehl:

                                    startScript('Name des Scripts')
                                    

                                    eingeben. (Die Anführungszeichen nicht vergessen.)

                                    T Do not disturb
                                    T Do not disturb
                                    ticaki
                                    wrote on last edited by
                                    #54

                                    @olivbus
                                    Jo, dann siehst du halt von außen nicht welchen Skript und das ich nicht so Blockly like :)

                                    Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                                    Spenden

                                    1 Reply Last reply
                                    0
                                    • R RaBu60

                                      Ich habe auch dieses Problem :slightly_frowning_face:

                                      Hier die Struktur unter Javascript:
                                      Screenshot 2023-06-24 141914.png

                                      Wenn ich nun folgendes JS starte (ist wirklich nur ein Einzeiler)

                                      setState("javascript.0.scriptEnabled.Hydrawise.Hydrawise", false, true);
                                      

                                      erhalte ich
                                      Screenshot 2023-06-24 142210 a.png

                                      Den Datenpunkt unter javascript.0... habe ich nicht selbst angelegt.

                                      Wie kann ich diesen Log-Eintrag unterdrücken?
                                      Die Version des JS-Adapters ist 7.0.3

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      wrote on last edited by
                                      #55

                                      @rabu60 Ok, wenn die meldung wirklich durch ein setState kommt dann bitte ein GitHub issue öffnen. Dann muss man offizielle Skriptnamen ausschliessen ...

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

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

                                        @rabu60 Ok, wenn die meldung wirklich durch ein setState kommt dann bitte ein GitHub issue öffnen. Dann muss man offizielle Skriptnamen ausschliessen ...

                                        A Offline
                                        A Offline
                                        Aiouh
                                        wrote on last edited by Aiouh
                                        #56

                                        @apollon77 @RaBu60 ich denke das ist dasselbe verhalten über das ich gerade gestolpert bin.
                                        Hoffe mein issue dazu passt soweit https://github.com/google/blockly/issues/7232

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        790

                                        Online

                                        32.4k

                                        Users

                                        81.5k

                                        Topics

                                        1.3m

                                        Posts
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                        ioBroker Community 2014-2025
                                        logo
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Home
                                        • Recent
                                        • Tags
                                        • Unread 0
                                        • Categories
                                        • Unreplied
                                        • Popular
                                        • GitHub
                                        • Docu
                                        • Hilfe