<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten]]></title><description><![CDATA[<p dir="auto">Hallo Zusammen,</p>
<p dir="auto">aktuell schalte ich in meiner vis einen Nachtmodus über ein Skript ein, dass mir ab einer bestimmten Uhrzeit bestimmte CSS-Klassen aktiviert.</p>
<pre><code>if((hour &gt;= 21) || (hour &lt;= 6)) {
    $("#vis_container").addClass("nightmode");
}
</code></pre>
<p dir="auto">Anstatt der Uhrzeit würde ich gerne einen DP nutzen mit dem ich den Nachtmodus aktivieren kann: <strong>0_userdata.0.Eigene_Objekte.vis.Nachtmodus</strong></p>
<p dir="auto">Folgendes habe ich bereits ausprobiert, jedoch ohne Erfolg:</p>
<pre><code>  if (getState("0_userdata.0.Eigene_Objekte.vis.Nachtmodus").val === true) {
    $("#vis_container").addClass("nightmode");
}

//ODER

  if (("0_userdata.0.Eigene_Objekte.vis.Nachtmodus").val === true) {
    $("#vis_container").addClass("nightmode");
}
</code></pre>
<p dir="auto">Kann mir bitte jemand auf die Sprünge helfen?</p>
]]></description><link>https://forum.iobroker.net/topic/58466/vis-skript-css-klassen-in-abhängikeit-von-dp-zuschalten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 13:04:38 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/58466.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 29 Sep 2022 18:30:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Sat, 01 Oct 2022 04:36:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a></p>
<p dir="auto">habe nochmal getestet mit einem dp von mir:</p>
<pre><code>
 setInterval( () =&gt; {
 Self.servConn.getStates(['0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2'], (error, states) =&gt; {  
var date = new Date(); 
var sek = date.getSeconds(); 

 console.log('der dp ist: '+states['0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2'].val +' Sekunde: '+sek);
  
 if (states['0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2'].val == true) { 

    console.log("jetzt im Script in if - true");    } else  {console.log("jetzt im Script in if - false");}
    
    vis.setValue('0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2',!states['0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2'].val)

 } );       /* ende getState*/

}, 5000)

</code></pre>
<p dir="auto">hier die logs im entwicklertool in chrome:</p>
<p dir="auto"><img src="/assets/uploads/files/1664598955587-script-vis.gif" alt="script-vis.gif" class=" img-fluid img-markdown" /></p>
]]></description><link>https://forum.iobroker.net/post/866298</link><guid isPermaLink="true">https://forum.iobroker.net/post/866298</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Sat, 01 Oct 2022 04:36:07 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 19:09:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: OliverIO">@<bdi>OliverIO</bdi></a><br />
Vielen Dank für die guten Tipps. Würde es aber gerne vorerst über das Skript versuchen wollen.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a><br />
da kommt im Log nix an. nutze zwar firefox  aber der hat ebenfalls die Entwicklerkonsole an bord. sehe alle möglichen state-initialisierungen da drin und auch einen "ws connection error" der mich etwas stutzig macht aber keine Log-Ausgabe die zu unserem Skript passen könnte.</p>
<p dir="auto">habe es jetzt wie folgt im skript stehen:</p>
<pre><code> Self.servConn.getStates(['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'], (error, states) =&gt; {  

 console.log(states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val);

 if (states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val == true) { 
    $("#vis_container").addClass("nightmode");
               }

     
 } );       /* ende getState*/
</code></pre>
]]></description><link>https://forum.iobroker.net/post/866204</link><guid isPermaLink="true">https://forum.iobroker.net/post/866204</guid><dc:creator><![CDATA[prorun]]></dc:creator><pubDate>Fri, 30 Sep 2022 19:09:39 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 15:43:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a></p>
<p dir="auto">console.log wird z.b. in chrome in den entwicklertools unter konsole angezeigt !</p>
<p dir="auto">wenn du in den entwicklertools bist, kannst du die seite refreshen und unter konsole wirden dir auch alle fehler angezeigt - sonst wüßte ich nicht, wie man debugggen könnte</p>
<p dir="auto">lass dir mal die states ausgeben - innerhalb der getStaetes function</p>
<p dir="auto">z.b.</p>
<pre><code>console.log(states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val);
</code></pre>
]]></description><link>https://forum.iobroker.net/post/866032</link><guid isPermaLink="true">https://forum.iobroker.net/post/866032</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 30 Sep 2022 15:43:35 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 14:32:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a><br />
dann könntest du noch ein html widget anlegen,<br />
dort ein scriptblock rein<br />
dann per binding einer variable den wert des datenpunkts zuweisen,<br />
auswerten und mit jquery addClass den entsprechenden Knoten seine Klasse zuweisen</p>
]]></description><link>https://forum.iobroker.net/post/865984</link><guid isPermaLink="true">https://forum.iobroker.net/post/865984</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Fri, 30 Sep 2022 14:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 13:41:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a></p>
<p dir="auto">funktioniert leider nicht. im ioB-Log wird leider auch nichts ausgegeben.</p>
<p dir="auto">wollte den vis.adapter mal zur Überprüfung auf debug stellen aber das kennt er anscheinend nicht<br />
"State "system.adapter.vis.0.logLevel" has no existing object, this might lead to an error in future versions"</p>
<p dir="auto">Aber trotzdem vielen Dank für die Mühe!</p>
]]></description><link>https://forum.iobroker.net/post/865964</link><guid isPermaLink="true">https://forum.iobroker.net/post/865964</guid><dc:creator><![CDATA[prorun]]></dc:creator><pubDate>Fri, 30 Sep 2022 13:41:55 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 13:25:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a></p>
<p dir="auto">denke, es müßte so aussehen</p>
<pre><code> Self.servConn.getStates(['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'], (error, states) =&gt; {  /*console.log(states); */
 if (states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val == true) { 
    $("#vis_container").addClass("nightmode");
               }
} );       /* ende getState*/
</code></pre>
<p dir="auto">damit das ganze aber auch wirklich getriggert wird, muss du eine interval function außenrum machen - so wird alle 15 sek gecheckt, wie der dp steht.</p>
<pre><code> setInterval(function(){

 Self.servConn.getStates(['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'], (error, states) =&gt; {  /*console.log(states); */
 if (states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val == true) { 
    $("#vis_container").addClass("nightmode");
               }
} );       /* ende getState*/


}, 15000)   /* ende Interval*

</code></pre>
<p dir="auto">habe das ganze nicht getestet - das überlasse ich dir</p>
]]></description><link>https://forum.iobroker.net/post/865956</link><guid isPermaLink="true">https://forum.iobroker.net/post/865956</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 30 Sep 2022 13:25:13 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 12:54:07 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/oliverio" aria-label="Profile: oliverio">@<bdi>oliverio</bdi></a></p>
<p dir="auto">Vielen Dank für den Hinweis, jedoch passt das nicht ganz zu meiner Architektur. Ich verwende zu fast jedem Widget andere Werte im Nachtmodus. Mit dem Skript überschreibe ich dann ab einer bestimmten Uhrzeit die Werte aus den eigentlichen CSS-Klassen mit den Werten aus den .nightmode CSS-Klassen. Anbei ein Beispiel:</p>
<pre><code>.textbox {
    font-size: 10px; 
    padding: 10px 15px 30px; 
    box-shadow: 0px 0px 20px #cfcfcf;
    border-radius: 8px; 
    z-index: 5; 
    background: #fff;
    border: 0px;
}
</code></pre>
<pre><code>.nightmode .textbox {
    background: #000;
    box-shadow: 0px 0px 0px #333;
}
</code></pre>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/liv-in-sky" aria-label="Profile: liv-in-sky">@<bdi>liv-in-sky</bdi></a><br />
Ich bin dank deines Beispiels mit meinem Skript zwar etwas weiter gekommen sodass ich jetzt entsprechend den Uhrzeiten (ohne ein zusätzliches Java-Skript) einen Datenpunkt direkt aus dem vis-Skript geschalten bekomme</p>
<pre><code>var date = new Date(); 
var hour = date.getHours(); 
setTimeout("document.location.reload();",600000);
if((hour &gt;= 19) || (hour &lt;= 18)) {
    $("#vis_container").addClass("nightmode");
    vis.setValue('0_userdata.0.Eigene_Objekte.vis.Nachtmodus',true);
}
else {
    vis.setValue('0_userdata.0.Eigene_Objekte.vis.Nachtmodus',false);
}
</code></pre>
<p dir="auto">Somit bekomme ich mein Problem jetzt über einen Umweg gelöst.<br />
Dennoch wäre es für mich sehr interessant wie der Code aussehen würde wenn die Wenn-Bedingung nicht die Uhrzeit sondern der Wert eines Datenpunktes wäre. Das habe ich jetzt trotz des Beispiels leider nicht abgeleitet bekommen.</p>
<p dir="auto">Hintergrund: ich würde gerne je nach dem ob der Nachtmodus aktiviert ist einige Widgets anzeigen oder nicht (das bekomme ich jetzt mit der o.g. Anpassung hin) und außerdem wäre es schön den Nachtmodus zusätzlich zur Zeit auch per DP ein- und ausschalten zu können (das fehlt mir noch, dazu würde ich die if-Abfrage bezogen auf einen DP im vis-skript benötigen)</p>
<p dir="auto">Folgendes habe ich ausprobiert, jedoch ohne Erfolgt:</p>
<pre><code>if (states['0_userdata.0.Eigene_Objekte.vis.Nachtmodus'].val == true) {
    $("#vis_container").addClass("nightmode");
}

</code></pre>
<p dir="auto">Wenn das funktionieren würde hätte ich zum einen meine nightmode-Klassen bei DP=true und zusätzlich würde ich diesen DP par Java-Skript über die Uhrzeit steuern.</p>
]]></description><link>https://forum.iobroker.net/post/865944</link><guid isPermaLink="true">https://forum.iobroker.net/post/865944</guid><dc:creator><![CDATA[prorun]]></dc:creator><pubDate>Fri, 30 Sep 2022 12:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 10:16:44 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a></p>
<p dir="auto">warum machst du das nicht per binding direkt in vis?<br />
du klickst in vis irgendwo hin, so das kein widget selektiert ist<br />
dann siehst du rechts die Eigenschaften.<br />
Dort öffnest du den Abschnitt CSS-Allgemein i welchem sich das Feld css klasse befindet<br />
dort könntest du dann den folgenden Text eintragen</p>
<pre><code>{value:javascript.0.hintergrundmodus;value=="night"?"night":"day"}
</code></pre>
<p dir="auto">was bedeutet, wenn im datenpunkt das wort night drin steht, wird dem iobroker container die css klasse night hinzugefügt, sonst day</p>
<p dir="auto">danach kannst du deine css klassen wie gehabt im css-reiter definieren</p>
<p dir="auto"><a href="https://forum.iobroker.net/topic/12320/gel%C3%B6st-css-f%C3%BCr-widget-background/3">https://forum.iobroker.net/topic/12320/gelöst-css-für-widget-background/3</a></p>
]]></description><link>https://forum.iobroker.net/post/865879</link><guid isPermaLink="true">https://forum.iobroker.net/post/865879</guid><dc:creator><![CDATA[OliverIO]]></dc:creator><pubDate>Fri, 30 Sep 2022 10:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to vis-Skript - CSS-Klassen in Abhängikeit von DP zuschalten on Fri, 30 Sep 2022 07:41:08 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/prorun" aria-label="Profile: prorun">@<bdi>prorun</bdi></a></p>
<p dir="auto">ein beispiel für das abfragen eines dp und auch für das setzen:</p>
<pre><code>
setInterval(function(){
      Self.servConn.getStates(['0_userdata.0.CONTROL-OWN.ECHO8.Echo2Player-PP','javascript.0.YouTube.whichDevice'], (error, states) =&gt; {  /*console.log(states); */

  if (states['javascript.0.YouTube.whichDevice'].val != 2) {
if (x.duration &gt; 0 &amp;&amp; !x.paused) {
   vis.setValue('0_userdata.0.CONTROL-OWN.ECHO8.Echo2PlayerStatus',true);
   isRunning=true;


} else {
   vis.setValue('0_userdata.0.CONTROL-OWN.ECHO8.Echo2PlayerStatus',false);
   isRunning=false;
  
  /*  console.log("paused")*/}

....
....


}

} );       /* ende getState*/
}, 5000)   /* ende Interval*/

  }, timeout12); 
  
</code></pre>
<p dir="auto">das gibt es <strong>nicht</strong> in der vis:</p>
<pre><code> if (("0_userdata.0.Eigene_Objekte.vis.Nachtmodus").val
</code></pre>
]]></description><link>https://forum.iobroker.net/post/865800</link><guid isPermaLink="true">https://forum.iobroker.net/post/865800</guid><dc:creator><![CDATA[liv-in-sky]]></dc:creator><pubDate>Fri, 30 Sep 2022 07:41:08 GMT</pubDate></item></channel></rss>