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. [gelöst] iQontrol erwartet "boolean" --> common.type ändern?

NEWS

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

  • 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

[gelöst] iQontrol erwartet "boolean" --> common.type ändern?

Geplant Angeheftet Gesperrt Verschoben JavaScript
5 Beiträge 2 Kommentatoren 314 Aufrufe 1 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.
  • metaxaM Offline
    metaxaM Offline
    metaxa
    schrieb am zuletzt editiert von metaxa
    #1

    iQontrol benötigt - um eine Kachel inaktiv/aktiv darzustellen - den Statuswert im Format "boolean".
    ed3d60bd-c20b-420e-b0da-5c0070c4e00c-grafik.png

    Was möchte ich:

    • wenn der Systemdatenpunkt: "system.host.Raspy4-Display-Diele.alive"="true" unten in der Kachel die umgerechnete Uptimezeit anzeigen lassen.45f490ac-1048-4ccd-b16a-fdcc87d27357-grafik.png
      Diese untere Zeile zeigt den Wert von Status an. Dieser hat aber klarerweise für die Umrechnung der Uptimesekunden das Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.

    Was habe ich schon:

    • Die Umrechnung und Darstellung der Uptimezeit als JS (Trigger die Änderung der Uptimezeit)
    on({id: 'system.host.Raspy4-Display-Diele.uptime', change: "ne"}, function (dp) {
    
    	// var timenew = Math.floor(dp.state.val / 3600 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min';
        var timenew = Math.floor(dp.state.val / 60/60/24)+'d'+Math.floor((dp.state.val /60/60)%24 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min';
    
        	setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime",timenew);
    
    });
    
    • ein anderes JS zum Verändern eines Datenpunktes auf "number", das muss ich irgendwie anpassen
    const idPlay = 'mpd.0.playid';
    // const idInst = 'system.adapter.mpd.0.alive';
    
    // on(idInst, function(dp) {
    //    if(dp,state.val) {
           setTimeout(function() {
             var obj = getObject(idPlay);
             if(obj.common.type != 'number') {
                obj.common.type = 'number';
                setObject(idPlay, obj);
             };
          }, 1000);
    //    }
    // });
    

    Was suche ich:

    • die Zusammenführung/Erweiterung meines Umrechnungs-JS, das heißt
      • wenn der Alivestatus auf "false" geht, soll anstelle der Zeitumrechnung der Datenpunkt mit "false" beschrieben UND auf "boolean" umgestellt werden.
      • wenn der Alivestatus wieder auf "true" geht, dann wieder auf "string" zurückstellen damit wieder die Laufzeit eingetragen und dargestellt werden kann.

    Wer kann mir bitte helfen?

    • eventuell gibt es eine einfache Möglichkeit die @s-bormann im kleinen iQontrol-Finger hat
    • eventuell kann mir @paul53 helfen :-)
    • oder eventuell die anderen vielen @alle_Helfer hier im Forum

    LG & danke im Voraus, mxa

    paul53P 1 Antwort Letzte Antwort
    0
    • metaxaM metaxa

      iQontrol benötigt - um eine Kachel inaktiv/aktiv darzustellen - den Statuswert im Format "boolean".
      ed3d60bd-c20b-420e-b0da-5c0070c4e00c-grafik.png

      Was möchte ich:

      • wenn der Systemdatenpunkt: "system.host.Raspy4-Display-Diele.alive"="true" unten in der Kachel die umgerechnete Uptimezeit anzeigen lassen.45f490ac-1048-4ccd-b16a-fdcc87d27357-grafik.png
        Diese untere Zeile zeigt den Wert von Status an. Dieser hat aber klarerweise für die Umrechnung der Uptimesekunden das Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.

      Was habe ich schon:

      • Die Umrechnung und Darstellung der Uptimezeit als JS (Trigger die Änderung der Uptimezeit)
      on({id: 'system.host.Raspy4-Display-Diele.uptime', change: "ne"}, function (dp) {
      
      	// var timenew = Math.floor(dp.state.val / 3600 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min';
          var timenew = Math.floor(dp.state.val / 60/60/24)+'d'+Math.floor((dp.state.val /60/60)%24 )+'h'+Math.floor( (dp.state.val % 3600) / 60 )+'min';
      
          	setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime",timenew);
      
      });
      
      • ein anderes JS zum Verändern eines Datenpunktes auf "number", das muss ich irgendwie anpassen
      const idPlay = 'mpd.0.playid';
      // const idInst = 'system.adapter.mpd.0.alive';
      
      // on(idInst, function(dp) {
      //    if(dp,state.val) {
             setTimeout(function() {
               var obj = getObject(idPlay);
               if(obj.common.type != 'number') {
                  obj.common.type = 'number';
                  setObject(idPlay, obj);
               };
            }, 1000);
      //    }
      // });
      

      Was suche ich:

      • die Zusammenführung/Erweiterung meines Umrechnungs-JS, das heißt
        • wenn der Alivestatus auf "false" geht, soll anstelle der Zeitumrechnung der Datenpunkt mit "false" beschrieben UND auf "boolean" umgestellt werden.
        • wenn der Alivestatus wieder auf "true" geht, dann wieder auf "string" zurückstellen damit wieder die Laufzeit eingetragen und dargestellt werden kann.

      Wer kann mir bitte helfen?

      • eventuell gibt es eine einfache Möglichkeit die @s-bormann im kleinen iQontrol-Finger hat
      • eventuell kann mir @paul53 helfen :-)
      • oder eventuell die anderen vielen @alle_Helfer hier im Forum

      LG & danke im Voraus, mxa

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @metaxa sagte:

      Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.

      Hast Du es mal mit einem Leerstring versucht ?

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      metaxaM 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @metaxa sagte:

        Format "string" und ist somit nicht mehr Trigger für die Kachel inaktiv/aktiv.

        Hast Du es mal mit einem Leerstring versucht ?

        metaxaM Offline
        metaxaM Offline
        metaxa
        schrieb am zuletzt editiert von
        #3

        @paul53 Das war zu einfach :+1: :+1:
        --> funktioniert, lieben Dank! Warum läßt du mich dafür so lange Anforderungen schreiben???? :-) :-)

        Wie kann ich jetzt meinem Umrechnungsscript (siehe oben, Trigger ist Änderung auf die uptime-zeit) noch beibringen, wenn ein anderer Datenpunkt - in meinem Fall alive auf "false" geht, diesen Leerstring einzutragen?

        LG und nochmals danke, @paul53 !

        paul53P 1 Antwort Letzte Antwort
        0
        • metaxaM metaxa

          @paul53 Das war zu einfach :+1: :+1:
          --> funktioniert, lieben Dank! Warum läßt du mich dafür so lange Anforderungen schreiben???? :-) :-)

          Wie kann ich jetzt meinem Umrechnungsscript (siehe oben, Trigger ist Änderung auf die uptime-zeit) noch beibringen, wenn ein anderer Datenpunkt - in meinem Fall alive auf "false" geht, diesen Leerstring einzutragen?

          LG und nochmals danke, @paul53 !

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @metaxa sagte:

          alive auf "false" geht, diesen Leerstring einzutragen?

          on('system.host.Raspy4-Display-Diele.alive', function(dp) {
             if(!dp.state.val) setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime", '');
          });
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          metaxaM 1 Antwort Letzte Antwort
          1
          • paul53P paul53

            @metaxa sagte:

            alive auf "false" geht, diesen Leerstring einzutragen?

            on('system.host.Raspy4-Display-Diele.alive', function(dp) {
               if(!dp.state.val) setState("a_andreas.0.eigene_dp.Zeit.System.Host.Raspy4-Display-Diele.iOBroker_uptime", '');
            });
            
            metaxaM Offline
            metaxaM Offline
            metaxa
            schrieb am zuletzt editiert von
            #5

            @paul53 wieder einmal danke!
            Funktioniert astrein, verstehen tue ich es einfach nicht.

            on('system.host.Raspy4-Display-Diele.alive', function(dp) {
            if(!dp.state.val) // Änderung auf false (
            

            Habe jetzt diesen Beitrag von dir gefunden. // Änderung auf false
            Ich hätte hier ein ='false' erwartet oder soetwas Ähnliches. Tja, Javascript ist einfach nicht an einem Nachmittag mit einer Funktion zu erlenen :-)

            @paul53 --> Alles Gute und xund bleiben!
            LG, mxa

            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

            819

            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