NEWS
Symbol Störung (mehrere WErte true und false)
-
Hallo,
ich möchte ein Symbol Störung blinken lassen falls einer mehrere WErte auf True springen.
Gibt es in VIS solch eine Möglichkeit.
Beispiel:
Falls Batterie1 oder Batterie2 oder Batterie3 ist "true" dann Symbol Störung "blinke"
Danke für die Hilfe -
-
welches blinken?
du kannst sowas machen - 3 werte - bei mehr werten, lieber die script lösung von @Glasfaser
{wert1:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic2; wert2:0_userdata.0.CONTROL-OWN.AAATEST.TestLogic; wert3:0_userdata.0.CONTROL-OWN.AAATEST.TestHTMLRefresh; wert1=="true" ? wert2=="true" ? wert3=="true" ? "blinker" :"" : "": ""}
die art des blinkens kannst du über css wert machen - muss dann im css tab eingetragen sein
ccs beispiele
-
@liv-in-sky
Super, leider habe ich mehrere Objekte die ich mit einbinden müssten. Im Widget gehen nur 2 -
bei mehreren werten (wieviele sind es?) evtl ein blockly machen und einen dp setzen - in der vis nimmst du dann diesen datenpunkt um es leuchten zu lassen
-
@liv-in-sky #
ok das habe ich mir fast gedacht es sind ca. 12 Objekte (Strörungsmeldungen).
Ich habe es mit dem DAtenpunkt probiert aber das Blockly läuft irgendwie nicht wie ich es gerne hätte. -
was muss das blockly können - 12 werte auf true prüfen und dann den dp auf true schalten - oder ist es komplizierter
-
@liv-in-sky
genau also Oder Verknüpfung -
also wenn einer davon true ist dann dp setzen ?
-
@liv-in-sky
genau -
sind die dp alle in einem object-ordner oder sind die überall in deinen objecten verstreut
-
@tobiasp und können das noch mehr werden oder ist das eine fixe anzahl
-
@liv-in-sky
Ich versuche es -
bitte code tags für scripte nutzen - so sieht das schlecht
-
@liv-in-sky
also vorne so
am ende
-
@tobiasp bitte oben den post mal mit code tags !!!!!! ausbessern
-
@tobiasp sagte in Symbol Störung (mehrere WErte true und false):
@liv-in-sky
Geht das so?
if (getState("hm-rpc.0.00201A49953430.0.LOW_BAT").val || getState("hm-rpc.0.00201A49953689.0.LOW_BAT").val || getState("hm-rpc.0.00201A499767B9.0.LOW_BAT").val || getState("hm-rpc.0.00201A499767C7.0.LOW_BAT").val && (getState("hm-rpc.0.00201BE98DD0A5.0.LOW_BAT").val || getState("hm-rpc.0.00265A49A57C5D.0.LOW_BAT").val || getState("hm-rpc.0.00265BE9899F69.0.LOW_BAT").val || getState("hm-rpc.0.00265BE9899FDC.0.LOW_BAT").val || getState("hm-rpc.0.00265BE989A3B5.0.LOW_BAT").val || getState("hm-rpc.1.LTK0008785.0.LOWBAT").val || getState("hm-rpc.1.LTK0009817.0.LOWBAT").val == true)) {
setState("0_userdata.0.Störungen_Batterie.Batterie"/Batterie/, 'Batterie schwach', true);
}
if (getState("hm-rpc.0.00201A49953430.0.LOW_BAT").val || getState("hm-rpc.0.00201A49953689.0.LOW_BAT").val || getState("hm-rpc.0.00201A499767B9.0.LOW_BAT").val || getState("hm-rpc.0.00201A499767C7.0.LOW_BAT").val && (getState("hm-rpc.0.00201BE98DD0A5.0.LOW_BAT").val || getState("hm-rpc.0.00265A49A57C5D.0.LOW_BAT").val || getState("hm-rpc.0.00265BE9899F69.0.LOW_BAT").val || getState("hm-rpc.0.00265BE9899FDC.0.LOW_BAT").val || getState("hm-rpc.0.00265BE989A3B5.0.LOW_BAT").val || getState("hm-rpc.1.LTK0008785.0.LOWBAT").val || getState("hm-rpc.1.LTK0009817.0.LOWBAT").val == true)) {
setState("0_userdata.0.Störungen_Batterie.Batterie"/Batterie/, 'Batterien in Ordnung', true);
}ist das selbe in grün - wenn uns @Homoran erwischt, dass wir keine code tags nutzen, ist was los
schau dir den link an - gleich das erste beispiel zeigt die nutzung von code tags - muss leider sein
-
also wieder zum script
so würde ich das nicht machen - entweder arbeitet man da mit functions (aufzählungen) oder man läuft durch eine schleife, die alle dp auswertet
ich persönl. mag die schleifen version, da ja alle dp unter mh-rpc.0 sind. das bedeutet: wenn du ein neues gerät dazu bekommst, wird das einfach mit dabei sein , bei der auswertung
wenn du aber nur betimmte dp unter hm-rpc.0 brauchst, geht das mit einer aufzählung
es gibt auch 2 scripte, die eine baterieauswertung machen - das kann dann auch in der vis angezeigt werden - als tabelle
eines ist hier: https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände/1312
das andere: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabeauch bei den beiden versionen ist der unterschied, das mit schleife oder aufzählung gearbeitet wird
-
@liv-in-sky
Ich habe in meinen VIS ein Fenster "Störungen" hier sind Batterien, Kommunikationsstörungen usw. abgelegt. Ich möchte nun falls einer der gesamten Störungen auftritt das das Störungsbild blinkt als Hinweis das eine Störung vorhanden ist.
Mit dem Widget wäre es gut wenn es mehr als 3 Beindungen könnte -
das geht wohl nicht mit einem widget - du kannst das widget blinken lassen, mußt aber ein script haben, welches störungen erkennt
dieses script muss alle deine stör-dp checken - das können viele sein und es kommen auch immer welche dazu
also von deiner beschreibung her müssen wir das über function (aufzählung) machen - diese function haben nix mit einer blockly function zu tun, sondern :
eine aufzählung kann ein raum sein (alle geräte in einem raum) oder eine function (also geräte die in deinem haushalt eine bestimmte Funktion haben (alle lichter im haushalt, alle steckdosen im haushalt,...)). in deinem fall wäre es z.b. die function : störsignale
dann definiert man das : alle geräte , die du als störung überwachen willst, werden in diese "störsignale"-function eingebunden
geht damit:
damit kann man alle geräte einfach prüfen bzw ansteuern. z.b. einen trigger auf diese aufzählung(function/störsignal) erstellen
bekommst du ein neues gerät, fügst du es einfach in die function störsignale und alles ist gutes gibt das auch schon beschrieben:
https://www.machs-smart.de/iobroker-batteriewarnungen-per-pushover/
https://forum.iobroker.net/topic/45912/gelöst-überwachung-batteriestatus?_=1637055494361