NEWS
Energieanzeige (kWh) über HTML Tabelle - vis
-
@smartboart beispiel für nur einen datenpunkt pro ordner
der lange rote pfeil ist als virtuPower definiert und erzeugt die beidene einträge (kleine rote pfeile)
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

@liv-in-sky eine Frage noch, habe es im script nicht gefunden, bevor ich mir das Hirn verbiege, kannst du mir das beantworten, wie ich das .STATE noch bei den virtuals weg bekomme.
Danke -
@liv-in-sky eine Frage noch, habe es im script nicht gefunden, bevor ich mir das Hirn verbiege, kannst du mir das beantworten, wie ich das .STATE noch bei den virtuals weg bekomme.
Danke@smartboart habe es nur kurz überflogen,
aber ich würde es wohl mit einem replace machen vor dem function-aufruf ( tabelleBind;)
einfach davor eine zeile einfügen, der val0 nach .STATE durchsucht und mit nichts ( "") ersetzt
val0=val0.replace(/\.STATE/,"")
-
@smartboart habe es nur kurz überflogen,
aber ich würde es wohl mit einem replace machen vor dem function-aufruf ( tabelleBind;)
einfach davor eine zeile einfügen, der val0 nach .STATE durchsucht und mit nichts ( "") ersetzt
val0=val0.replace(/\.STATE/,"")
@liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
val0=val0.replace(/.STATE/,"")
perfekt!!!!
Danke -
@smartboart beispiel für nur einen datenpunkt pro ordner
der lange rote pfeil ist als virtuPower definiert und erzeugt die beidene einträge (kleine rote pfeile)
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

@liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme
hi hab das mal getestet...der Datenpunkt wird erst garnicht angelegt vom Adapter, weil der erstellte Datenpunkt auch gleich heißen würde..
Schade, habe viele Wemo D1 mini mit mehreren Aktoren im Betrieb und auch ein paar4 Fach Steckdosen.. Muss ich mir wohl mit nem Script behelfen, was ja auch kein Problem ist...
-
@liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme
hi hab das mal getestet...der Datenpunkt wird erst garnicht angelegt vom Adapter, weil der erstellte Datenpunkt auch gleich heißen würde..
Schade, habe viele Wemo D1 mini mit mehreren Aktoren im Betrieb und auch ein paar4 Fach Steckdosen.. Muss ich mir wohl mit nem Script behelfen, was ja auch kein Problem ist...
ich weiß nicht, ob man aliase in verschiedene ordner machen kann - dann bräuchte man kein script
-
ich weiß nicht, ob man aliase in verschiedene ordner machen kann - dann bräuchte man kein script
@liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
ich weiß nicht, ob man aliase in verschiedene ordner machen kann - dann bräuchte man kein script
Ja das weiß ich auch nicht, zumindest nicht wie...Aber damit wäre mir auch nicht geholfen, da ich die betroffenen Objekte auch in anderen Skripten verarbeite, welche ich dann ändern müsste. Dann kann ich auch gleich ein 3Zeiler Script für jeden State schreiben, welchen ich in der Tabelle anzeigen will.
-
@liv-in-sky sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme
hi hab das mal getestet...der Datenpunkt wird erst garnicht angelegt vom Adapter, weil der erstellte Datenpunkt auch gleich heißen würde..
Schade, habe viele Wemo D1 mini mit mehreren Aktoren im Betrieb und auch ein paar4 Fach Steckdosen.. Muss ich mir wohl mit nem Script behelfen, was ja auch kein Problem ist...
@smartboart sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
Datenpunkt auch gleich heißen würde..
ah das ja quatsch was ich da beschrieben habe...wie der Datenpunkt angelegt wird kann ich ja hier beeinflussen..

die Tabelle kann man doch bestimmt anpassen, so dass weitere virtualpower eingelesen werden, oder eben allewelche den gleichen Anfang haben

-
@smartboart sagte in Energieanzeige (kWh) über HTML Tabelle - vis:
Datenpunkt auch gleich heißen würde..
ah das ja quatsch was ich da beschrieben habe...wie der Datenpunkt angelegt wird kann ich ja hier beeinflussen..

die Tabelle kann man doch bestimmt anpassen, so dass weitere virtualpower eingelesen werden, oder eben allewelche den gleichen Anfang haben

- ich würde dir gerne empfehlen, einen eigenen ordner anzulegen und die durch ein extra-script zu steuern
- das extra-script kopiert einfach den wert des orginals in die neue struktur - sozusagen: selbsterzeugtes alias
- habe das mit alias probiert - ging nicht - unter alias.0 werden die virtPower - datenpunkte nicht geschrieben


raspi und lüfter3 liegen ursprünglich unter einem ordner - ein kleines blockly spiegelt die werte in die neue struktur
du musst evtl das main-script neustarten, wenn du die datenpunkte angelegt hast, damit das script keine fehler macht und sich neu aufbauen kann
-
@smartboart beispiel für nur einen datenpunkt pro ordner
der lange rote pfeil ist als virtuPower definiert und erzeugt die beidene einträge (kleine rote pfeile)
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

@liv-in-sky said in Energieanzeige (kWh) über HTML Tabelle - vis:
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

Hallo, das stimmt so nicht. In dem Menü das unter dem (großer roter pfeil) kommt kann man den Name der ID bzw absolute ID Angeben. dadurch kann man beliebig viele Datenpunkte in einem Kanal überwachen, jeder braucht nur seie eindeutige ID
-
@liv-in-sky said in Energieanzeige (kWh) über HTML Tabelle - vis:
es darf nun unter AAATEST (grüner pfeil) kein weiterer datenpunkt als virtPow definiert werden - das script bekommt sonst probleme

Hallo, das stimmt so nicht. In dem Menü das unter dem (großer roter pfeil) kommt kann man den Name der ID bzw absolute ID Angeben. dadurch kann man beliebig viele Datenpunkte in einem Kanal überwachen, jeder braucht nur seie eindeutige ID
was virtPow angeht hast du recht - aber das script kann dann die berechnung nicht durchführen, da es immer nach xxx.Script_Power im ordner sucht und den wert abgreift. ein zweiter datenpunkt im selben ordner hätte dann die selbe id - wäre also doppelt - doppelte werden nicht angelegt und so greift das script immer auf einen dp zu, obwohl es eigentlich 2 verschiedene sein sollten - das funktioniert zwar, aber tatsächlich würden die daten zur berechnung falsch sein
damit das script das könnte, müßten die id's in virtPow so angelegt werden, dass ich das im script herausfinden kann.
unter virtualpowermeter.0.group_script.info stehen die datenpunkte (mehr info habe ich nicht) - diese müßten gleichzeitig ein fixer teil der id sein - ein beispiel
der datenpunkt, der virtPow bekommen soll heißt controll-own.0.MATRIX.Schalter. die id (im virtPow-setting) dafür müßte diesen namen beinhalten z.b.-> controll-own0MATRIXSchalter_Script_Power - so könnte man das im script abfragen, weil ich dann einen eindeutigen namen hätte, den ich auch im script erzeugen kann, weil immer die id des dp ein teil des namens wäre -
um ein klareres bild zu bekommen - stoppe mal das script und die sonoff instanz -- dann lösche sonoff.0 in den objecten - alle datenpukte - dann starte die sonoff instanz wieder
anschliessend siehst du , was für datenpunkte angelegt werden und beschrieben - zur not auch mal die gosunds direkt neustarten (über die web console)
das script holt sich ertmal den POWER zustand (ist der leer, kommt eine warnung) um anschliessend zu testen, ob es sich um einen gosund 112 handelt - dann werden die beiden POWER1 und POWER2 geholt
daher ist es wichtig zu wissen, ob POWER da ist und geschrieben wurde - ansonsten muss ich das script anders in der abfrage aufbauen - z.b zuerst prüfen, ob es ein 112er ist und P1 und P2 lesen - ansonsten POWER nehmen
was mich wundert ist, dass POWER nicht geschrieben wird - das ist ja eigentlich der schalter für die 230V - da sollte immer ein wert drin sein - ich nehme dann an, die haben POWER1 und POWER2 als usb-schalter eingesetzt ? vielleicht muss man nochmal flashen, den POWER sollte immer da sein
und während ich das schreibe, fällt mir auf, dass es eigentlich im energiescript nur um den POWER geht und das script dann ohne umstellung funktionieren müßte - anders im sonoff script von mir - da könnte man überlegen, ob POWER 1 und POWER2 angezeigt werden soll ( ich weiß nicht, ob du das sonoff script kennst)
@liv-in-sky hallo hatte auch das Problem mit dem Sp112. Bei mir kommt bei der Abfrage (if (getState(id).val SP112 statt GOSUND SP112). Ich habe den GOSUND-Zweig wie folgt geändert:
if (getState(id).val.includes("Gosund SP1") || getState(id).val.includes("SP11") || getState(id).val.includes("Gosund SP111") || getState(id).val.includes("SP112")) { // log (id) anzahl++; var ida = id.split('.'); counter++; val1=getState(id.replace("INFO.Module","alive")).val; val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; val4=getState(id.replace("INFO.Module","ENERGY_Power")).val.toString()+ " W" val2=((getState(id.replace("INFO.Module","ENERGY_Current")).val)*1000).toString()+ " mA"; val3=getState(id.replace("INFO.Module","ENERGY_Voltage")).val.toString()+" V"; var val7_2; var val8_2; //console.log("==========>>>> "+ getState(id).val); if (getState(id).val=="SP112") { let val7_1=getState(id.replace("INFO.Module","POWER1")).val; val7_1 ? val7_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val7_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>"; let val8_1=getState(id.replace("INFO.Module","POWER2")).val; val8_1 ? val8_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val8_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>"; val5=val7_2+" "+val8_2; } else{ let val7_1=getState(id.replace("INFO.Module","POWER")).val; val7_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";} val6=" - "; val7=" - "; val8=" - "; val9=" - "; valMarkeDevice="gosundk" if (sourceAnalyGo) {brechneEnergy(val0,getState(id.replace("INFO.Module","ENERGY_Power")).val) if (rootCounter){ sammleDaten(); berechneGesamt() } } zeigeVal1(); if (!filterArrAusnahme.includes(val0)) { tabelleBind(); } else{let help=[val0,val1,val2,val3,val4,val5,val6,val7,val8,val9]; filterArrAusnahmeHelp.push(help);} } });Damit funktioniert es bei mir.
-
@liv-in-sky hallo hatte auch das Problem mit dem Sp112. Bei mir kommt bei der Abfrage (if (getState(id).val SP112 statt GOSUND SP112). Ich habe den GOSUND-Zweig wie folgt geändert:
if (getState(id).val.includes("Gosund SP1") || getState(id).val.includes("SP11") || getState(id).val.includes("Gosund SP111") || getState(id).val.includes("SP112")) { // log (id) anzahl++; var ida = id.split('.'); counter++; val1=getState(id.replace("INFO.Module","alive")).val; val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]).common.name ; val4=getState(id.replace("INFO.Module","ENERGY_Power")).val.toString()+ " W" val2=((getState(id.replace("INFO.Module","ENERGY_Current")).val)*1000).toString()+ " mA"; val3=getState(id.replace("INFO.Module","ENERGY_Voltage")).val.toString()+" V"; var val7_2; var val8_2; //console.log("==========>>>> "+ getState(id).val); if (getState(id).val=="SP112") { let val7_1=getState(id.replace("INFO.Module","POWER1")).val; val7_1 ? val7_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val7_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>"; let val8_1=getState(id.replace("INFO.Module","POWER2")).val; val8_1 ? val8_2=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val8_2=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>"; val5=val7_2+" "+val8_2; } else{ let val7_1=getState(id.replace("INFO.Module","POWER")).val; val7_1 ? val5=(" <font color=\""+farbeSchalterON+"\"> ")+"ON</font>" : val5=(" <font color=\""+farbeSchalterOFF+"\"> ")+"OFF</font>";} val6=" - "; val7=" - "; val8=" - "; val9=" - "; valMarkeDevice="gosundk" if (sourceAnalyGo) {brechneEnergy(val0,getState(id.replace("INFO.Module","ENERGY_Power")).val) if (rootCounter){ sammleDaten(); berechneGesamt() } } zeigeVal1(); if (!filterArrAusnahme.includes(val0)) { tabelleBind(); } else{let help=[val0,val1,val2,val3,val4,val5,val6,val7,val8,val9]; filterArrAusnahmeHelp.push(help);} } });Damit funktioniert es bei mir.
@schauaufdich danke für die info - könntest du bitte den code tag im deinem post richtig setzen ? wäre übersichtlicher :-)
scheint eine bessere lösung zu sein - die info.module einträge scheinen doch ziemlich verschieden zu sein
-
Irgendwie findet das Script meine Shellys mit Tasmota drauf nicht. Was muss ich tun?
-
Irgendwie findet das Script meine Shellys mit Tasmota drauf nicht. Was muss ich tun?
@Christoph-Bubeck liegt daran, dass shellys mit tasmota nicht im script integriert sind
integriert ist der sonoff pow (der auch tasmota hat) - evtl wäre es sinnvoll den pow teil zu tasmota zu ändern und dann könnte man den einbinden
kannst du mir mal einen json export deines shellys mit tasmota machen - dann schau ich da mal rein
json-export: https://forum.iobroker.net/post/355793 - wähle den ordner des shellys aus und dann den export - zusätzlich brauche ich noch den inhalt des info.module datenpunktes des shellys
-
Jau das hab ich auch gerade gesehen.
Wenn ich dann im Pow bereich das modul für shelly 2 hinzufüge findet er leider die doppeleinträge nicht -
Jau das hab ich auch gerade gesehen.
Wenn ich dann im Pow bereich das modul für shelly 2 hinzufüge findet er leider die doppeleinträge nicht@Christoph-Bubeck ich schau es mir mal an - meld mich wieder
-
Sehr cool! Ich danke dir!!!!
-
Sehr cool! Ich danke dir!!!!
@Christoph-Bubeck bitte noch den inhalt von INFO.module
-

-
@Christoph-Bubeck zur sicherheit
die watt werte stehen in den POWERx_STATE datenpunkten ? vielleicht kannst du da auch ein bildchen machen :-)