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

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

Community Forum

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.2k

Please move the states to 0_userdata.0.*

Geplant Angeheftet Gesperrt Verschoben JavaScript
56 Beiträge 14 Kommentatoren 6.3k Aufrufe 16 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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antworten Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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 Nicht stören
                    T Nicht stören
                    ticaki
                    schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von Olivbus
                        #51

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

                        T 1 Antwort Letzte Antwort
                        0
                        • O Olivbus

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

                          T Nicht stören
                          T Nicht stören
                          ticaki
                          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                            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 Nicht stören
                              T Nicht stören
                              ticaki
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                  0
                                  Antworten
                                  • In einem neuen Thema antworten
                                  Anmelden zum Antworten
                                  • Älteste zuerst
                                  • Neuste zuerst
                                  • Meiste Stimmen


                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  786

                                  Online

                                  32.4k

                                  Benutzer

                                  81.5k

                                  Themen

                                  1.3m

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

                                  • Du hast noch kein Konto? Registrieren

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