NEWS
Script fürTabelle der Batterie Zustände
-
das ist leider richtig so - das sortieren für die json , welche du nutzt, wird nicht sortiert
am einfachsten für mich wäre eine sortierung nach namen - könnt ich dir morgen mal einbauen
-
füge das am ende des scripts ein - ganz unten:
function sortierMalMD(myObjF) { myObjF.sort(function (alpha, beta) { if ((alpha.name.toUpperCase()).trim() > (beta.name.toUpperCase()).trim()) return 1; if ((beta.name.toUpperCase()).trim() > (alpha.name.toUpperCase()).trim()) return -1; return 0; });}
und noch diese zeile an dieser stelle mit dem pfeil:
sortierMalMD(myJsonWidget2)
-
Super, ich danke Dir, hat perfekt funktioniert
-
Hallo,
ich habe die Xiaomi Temperatursensoren mit der alternativen Firmware bestückt und bekomme die mit ESP32 Tasmota Bluetooth in den iobroker. Weiterhin habe ich die EQ3 Thermostate die über den gleichen ESP32 Tasmota reinkommen.
Da die Xiaomi gepackt in einem DP kommen und dieser auch für den ESP32 verwendet werden habe ich ein Javascript das mir die einkommenden Daten in den Bereich 0_userdata schreibt, ebenso landen die EQ3 dort. Wie kann ich die Batteriewerte dieser DP hier verwenden?Beispiele der DP:
0_userdata.0.ATC.ATC_14A_BadEG.Battery (Zahl 0..100)
0_userdata.0.EQ3.EQ3_14A_BadEG.battery (Text zum Beispiel "GOOD", muss mal suchen welche Werte noch kommen) -
hier bei meinem sript muss man solche sonderfälle extra coden der schwierigkeitsgrad hängt vonm den datnpunzen ab - eir sie aufgebaut sind
es gibt noch ein anderes script : suche nach generisch batterie" - dort kann man alles einbinden
schaur dir mal das andee scipt an - und wenn das für dich nichts ist - meld dich nochmal
-
@liv-in-sky Danke für den Hinweis, dann werde ich mich mal mit dem anderen beschäftigen (dieses habe ich gefunden: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe)
-
@dog-rgb genau das habe ich gemeint
-
bitte mal testen - zigbee und deconz sind drin - die dp angleichen und deconz aktivieren
-
@liv-in-sky Super!
Leider ist das Encodung wieder zermatscht! -
sorry - das nervt mit dieser einschränkung
ist hier - https://github.com/liv-in-sky/battery-iobroker-vis-table nimm das testBatt.txt
-
@christoph1337 sagte in Script fürTabelle der Batterie Zustände:
Leider ist das Encodung wieder zermatscht!
das liegt an der Art, wie du das ..txt öffnest.
Nicht einfach auf den Link klicken
sondern Rechtsklick, speichern unterdann passt die Formatierung zu 100%
-
Sieht gut aus!
Deconz kann ich aktuell nicht mehr mit diesen, da ich da keine Sensoren mehr drin habe.
btw. Ich missbrauche den "homematic" Teil immer für meinem MAX Adapter. Den Max Teil den du gebaut hast funktionier für den CUL.
if (homematic){ tabelleMachSchoen() counter=-1 // for(var i=0;i<mehrfachTabelle;i++ ) { val0=""; val1=""; val2="";counter++;tabelleBind(); } for(var i=0;i<mehrfachTabelle;i++ ) { if(i==0){val0="<font color=\""+htmlColorDeviceUeberschrift+"\"><"+HTMLbrandSetting+">HOMEMATIC DEVICES</b>";} else{val0=""; } val1=""; val2="";counter++;tabelleBind(); } arrDoppelt=[]; myObjF=[]; $('maxcube.*.devices.*.battery_low').each(function(id, i) { // hier eigene schleife definieren und den wert counter++ nicht vergessen !!!
-
Hallöchen, in dem Script lassen sich ja auch unerwünschte Geräte raus filtern.
Ich habe auch ein Hue Bewegungssensor. Dieser bringt mir allerdings zusätzlich auch noch diese zwei Batteriezustände, die identisch sind mit dem normalen Sensor Objekt (hue.0.Hue_ambient_light_sensor_1, hue.0.Hue_temperature_sensor_1).
Diese würde ich gern auch raus filtern, wenn das irgendwie möglich wäre.
-
verstehe ich nicht - du kannst doch die gesamte id in das filterarray eingeben - in anführungszeichen und mit komma getrennt
etwa so:
["hue.0.Hue_ambient_light_sensor_1.percent"," hue.0.Hue_temperature_sensor_1.percent"]
-
ja das habe ich auch gemacht aber, er nimmt es nicht. Es reagiert nicht darauf und bleibt trotzdem weiter stehen
-
@idefix01 prüfe ich morgen mal
-
Poste doch noch was jetzt im Filterarray steht und zeige ein Bild (objecte_tab) von den dp, die du filtern willst
-
Hallo zusammen,
obwohl bei mir ein Fensterkontakt leer ist, zeigt mir die Tabelle an, dass alles ok. ist.
Ich bin jetzt nicht der Profi im Programmieren, aber ich glaube es werden die falschen Datenpunkte
geprüft.$('hmip.*.*.0.lowBat').each(function(id, i) { // val0=getObject(id).common.name ; var ida = id.split('.'); val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name json1=val0; val1help=getState(id).val; if (val1help=="true") {val1=(" <font color=\"red\"> ")+"low bat"; json2="low";json5="red";json3_1=0} else{val1=(" <font color=\"lightgreen\"> ")+"full bat";json2="high";json5="green";json3_1=100} if (val1help=="true") {val2=symbolKO;json3=symbolKO} else{val2=symbolOK;json3=symbolKO} if (val1help=="true") AkkuAlarm.push(1); if (val1help=="true") alarmMessage.push(val0); json3=val2; json6="HOMEMATIC-IP" if (braucheMaterialDesignWidget || braucheMaterialDesignWidgetTable) { json4=json4=pfadBilderMaterialWidget+"homematick.png" makeJsonWidget(json1,json2,json3,json4,json5,json6,json3_1);} let help=[val0,val1,val2]; myObjF.push(help); });
Ist im Original script die Zeile 1161 - 1179.
Wenn ich bei mir jetzt die Datenobjekte anschaue, sieht der so aus bei HomematicIP
hmip.0.devices.*.channels.0 -> State: true
der * steht für die ID des Gerätes
Kann mir da jemand weiterhelfen?
DankeGruß
Alex -
@alexmuc81 sagte in Script fürTabelle der Batterie Zustände:
der * steht für die ID des Gerätes
poste mal die ganze id eines datenpunktes, der die battery anzeigt - sollte am ende: .lowBat heißen
-
hmip.0.devices.3014F711A00000D709954F99.channels.0.lowBat
hmip.0.devices.3014F711A00000D709955FBB.channels.0.lowBat
usw.