Leistungsmesser mit Systemvariable, Skript
Moderator: Co-Administratoren
-
- Beiträge: 96
- Registriert: 09.06.2017, 00:19
Re: Leistungsmesser mit Systemvariable, Skript
Hallo alchy
Verstehe deine Antwort nicht so ganz. Ich habe doch alles so angepasst wie es eigentlich sein soll. Nur leider werden die Systemvariablen nicht gefüllt.
Ist denn in dem Script ein Fehler?
Den Systemvariablen habe ich Kanal 2 vom Schaltaktor zugeordnet.
Kann man den irgenwas aus der Fehlermeldung vom Log herauslesen?
Bitte helft mir.
Lg
Verstehe deine Antwort nicht so ganz. Ich habe doch alles so angepasst wie es eigentlich sein soll. Nur leider werden die Systemvariablen nicht gefüllt.
Ist denn in dem Script ein Fehler?
Den Systemvariablen habe ich Kanal 2 vom Schaltaktor zugeordnet.
Kann man den irgenwas aus der Fehlermeldung vom Log herauslesen?
Bitte helft mir.
Lg
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Was gibt es daran
nicht zu verstehen.
Denk doch selber mal drüber nach.
Du postest ein Script, welches du so gar nicht einsetzt, sondern in geänderter Form und fragst was da falsch wäre.
Ich sehe, das der Name der Systemvariable auf der CCU nicht zum Script passt, teile es dir mit und du sagt, das hatte ich schon angepasst.
Das baut auf.
Da dein jetzt gepostetes Script zu den Namen der Systemvariablen passt, darfst du jetzt noch den Typ der Systemvariablen ändern von Zahl in Zeichenkette.
Dann sollte das Script beim zweiten Ausführen durchlaufen.
(Den Monatswert kriegst du natürlich erst am nächsten 1. oder du passt die entsprechende Zeile
if (tag == 1)
kurz mal zum Testen an...
Alchy
nicht zu verstehen.
Denk doch selber mal drüber nach.
Du postest ein Script, welches du so gar nicht einsetzt, sondern in geänderter Form und fragst was da falsch wäre.
Ich sehe, das der Name der Systemvariable auf der CCU nicht zum Script passt, teile es dir mit und du sagt, das hatte ich schon angepasst.
Das baut auf.
Wie ich oben schon schrieb, das ist egal.Suenzihome hat geschrieben: ↑25.08.2019, 22:35Den Systemvariablen habe ich Kanal 2 vom Schaltaktor zugeordnet.
Ja ein ScriptRuntimeError: also brauchst du dich über leere Systemvariablen nicht wundern.Suenzihome hat geschrieben: ↑25.08.2019, 22:35Kann man den irgenwas aus der Fehlermeldung vom Log herauslesen?
Naja, vielleicht suboptimal wahrscheinlich sogar überflüssig, aber durchlaufen sollte es schon.
Da dein jetzt gepostetes Script zu den Namen der Systemvariablen passt, darfst du jetzt noch den Typ der Systemvariablen ändern von Zahl in Zeichenkette.
Dann sollte das Script beim zweiten Ausführen durchlaufen.
(Den Monatswert kriegst du natürlich erst am nächsten 1. oder du passt die entsprechende Zeile
if (tag == 1)
kurz mal zum Testen an...
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 96
- Registriert: 09.06.2017, 00:19
Re: Leistungsmesser mit Systemvariable, Skript
Hallo Alchy
Danke für die Hilfe. Sorry das mit den anpassen der Variablennamen hatte ich halt vergessen zu sagen.
Die Variablen habe ich noch in Zeichenkette geändert. Heute sollt ich dann ein Ergebnis haben. Zumindestens steht jetzt schon mal der Wert des Gerätezählers vom Schaltaktor in der Variable "Server.Zaehlerstand.Gestern"
Danke.
Danke für die Hilfe. Sorry das mit den anpassen der Variablennamen hatte ich halt vergessen zu sagen.
Die Variablen habe ich noch in Zeichenkette geändert. Heute sollt ich dann ein Ergebnis haben. Zumindestens steht jetzt schon mal der Wert des Gerätezählers vom Schaltaktor in der Variable "Server.Zaehlerstand.Gestern"
Danke.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Jetzt wird das Script das tun, was es sollte.Suenzihome hat geschrieben: ↑26.08.2019, 18:53Zumindestens steht jetzt schon mal der Wert des Gerätezählers vom Schaltaktor in der Variable "Server.Zaehlerstand.Gestern"
Wie ich schon oben schrieb, alles was mit Monatswerten zu tun hat, wird erst am nächsten 1. passieren, es sei denn du passt das Script an.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 18
- Registriert: 13.12.2019, 00:03
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Hat auch bei mir geklappt, vielen Dank dafür!
Eine Verständnisfrage habe ich noch dazu:
- bei Abfragen der "svEnergyCounter_1234_0001Dxxxxxxxxx:6" wird der CCU-interne Wertespeicher abgefragt, den man ja auch per Script zurücksetzen kann (also keine Anfrage an die Steckdose gesendet?)
- bei Abfragen an ""HmIP-RF.0001Dxxxxxxxxx:6.ENERGY_COUNTER"" wird der Wertespeicher der Steckdose abgefragt -> wird dort dann jedes Mal eine aktuelle Verbindung zur Steckdose aufgebaut oder "nur" der aktuell in der CCU hinterlegte Wert der Steckdose genutzt?
Ich spiele nämlich auch mit dem Gedanken, in AIO-NEO den aktuellen Leistungswert anzuzeigen und wollte dafür dieses Script mit recht kurzem Intervall nutzen, mache mir jedoch bei zu kurzem Intervall (z.B. 30 Sekunden) Sorgen um den Duty-Cycle...
Eine Verständnisfrage habe ich noch dazu:
- bei Abfragen der "svEnergyCounter_1234_0001Dxxxxxxxxx:6" wird der CCU-interne Wertespeicher abgefragt, den man ja auch per Script zurücksetzen kann (also keine Anfrage an die Steckdose gesendet?)
- bei Abfragen an ""HmIP-RF.0001Dxxxxxxxxx:6.ENERGY_COUNTER"" wird der Wertespeicher der Steckdose abgefragt -> wird dort dann jedes Mal eine aktuelle Verbindung zur Steckdose aufgebaut oder "nur" der aktuell in der CCU hinterlegte Wert der Steckdose genutzt?
Ich spiele nämlich auch mit dem Gedanken, in AIO-NEO den aktuellen Leistungswert anzuzeigen und wollte dafür dieses Script mit recht kurzem Intervall nutzen, mache mir jedoch bei zu kurzem Intervall (z.B. 30 Sekunden) Sorgen um den Duty-Cycle...
alchy hat geschrieben: ↑17.02.2015, 22:58...
ich unterbiete mit nur einer Zeile
sollte funktionieren.
...Code: Alles auswählen
dom.GetObject("leistung").State(dom.GetObject("BidCos-RF.KEQ012345678:2.POWER").Value());
Alchy
unterwegs getippelt
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Energiezähler CCU = interne Systemvariable (dein Beispiel: svEnergyCounter_1234_0001Dxxxxxxxxx:6)
Energiezähler Gerät = Datenpunkt Messwertkanal (dein Beispiel: HmIP-RF.0001Dxxxxxxxxx:6.ENERGY_COUNTER)
Das eine ist eine Systemvariable das andere ein Kanaldatenpunkt.
Beides wäre mit der Methode .Value() abzufragen wodurch bei beiden keine Verbindung zur Steckdose aufgebaut wird.
Beispielabfrage:
Code: Alles auswählen
WriteLine("Energiezähler CCU :\t"#dom.GetObject("svEnergyCounter_60238_000855699C334D:7").Value());
WriteLine("Ennergiezähler Gerät:\t"#dom.GetObject("HmIP-RF.000855699C334D:7.ENERGY_COUNTER").Value());
Ausgabe:
Ich setze den Neokram nicht ein aber wieso muss man da etwas periodisch abfragen, was periodisch aktualisiert wird?
oder anders gefragt: Wieso zeigst du nicht den Datenpunkt des Messwertkanals an, sondern schreibst den Wert in eine Systemvariable um ihn dann anzuzeigen? Ist Neo nicht in der Lage Datenpunkte anzuzeigen?
Und wenn man dann schon denkt dies tun zu müssen, dann synchronisiert man die Systemvariable mit dem Datenpunkt und fängt erst Recht nicht an ein Zeitmodul mit kurzem Intervall dafür zu benutzen. Aber nur meine Meinung zu dem Irrsinn der so läuft.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
Re: Leistungsmesser mit Systemvariable, Skript
Guten Tag zusammen,
mein Gesamt-Stromzähler in der CCu zählt nicht mehr weiter. Der Aktuelle Verbrauch läuft, auch Diagramme werden fortgeschrieben.
Aber der Gesamt-Zählerstand verändert sich nicht mehr. Ich hatte ihn mal per scriopt auf den tatsächlichen Stand meinem Stromzählers gesetzt. Dann lief es erstmal, jetzt ist er aber schon längere Zeit stehen geblieben. Auch ein Reset in der Pocket Home APP auf "0" lässt ihn nicht weiterlaufen.
Beim Gaszähler läuft er weiter.
Habt ihr einen Tip für mich ?
Vielen Dank im Voraus.
Gruss
mein Gesamt-Stromzähler in der CCu zählt nicht mehr weiter. Der Aktuelle Verbrauch läuft, auch Diagramme werden fortgeschrieben.
Aber der Gesamt-Zählerstand verändert sich nicht mehr. Ich hatte ihn mal per scriopt auf den tatsächlichen Stand meinem Stromzählers gesetzt. Dann lief es erstmal, jetzt ist er aber schon längere Zeit stehen geblieben. Auch ein Reset in der Pocket Home APP auf "0" lässt ihn nicht weiterlaufen.
Beim Gaszähler läuft er weiter.
Habt ihr einen Tip für mich ?
Vielen Dank im Voraus.
Gruss
-
- Beiträge: 9115
- Registriert: 17.11.2012, 10:47
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Köln
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 283 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Hallo Alchy,
ich habe hier ein kleines Problem auf 2 CCUen mit deinem tollen Script .
Und erschlage mich nicht, ist mit Sicherheit nur ein dummer Fehler, aber ich finde ihn einfach nicht.
Hier das Ergebnis deines 'getütelten ' ise_ID Scripts - Alles super:
CCU1
HMIP-PSM - 0001D7098D9D32, HmIP-FSM - 000895699E692B
Das geht:
Das geht nicht:
CCU2
HM-ES-PMSw1-DR - MEQ0420711 und MEQ0420891
Das geht:
das nächste wieder nicht:
Ein
liefert
Und bei 17 HM-ES-PMSw1-Pl auf CCU2 läuft auch alles perfekt.
Die Programme werden laut Zeitstempel ausgeführt.
Ich habe die Programme bereit teilweise gelöscht und neu angelegt - immer the same.
Wo zum Geier habe ich das Brett vor'm Schädel?
ich habe hier ein kleines Problem auf 2 CCUen mit deinem tollen Script .
Und erschlage mich nicht, ist mit Sicherheit nur ein dummer Fehler, aber ich finde ihn einfach nicht.
Hier das Ergebnis deines 'getütelten ' ise_ID Scripts - Alles super:
CCU1
HMIP-PSM - 0001D7098D9D32, HmIP-FSM - 000895699E692B
Code: Alles auswählen
svEnergyCounter_3793_0001D7098D9D32:6 225920.200000
svEnergyCounter_7738_000895699E692B:5 12154.800000
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_7738_000895699E692B:5").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_SW1_IP_M_1").State(energy);
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_3793_0001D7098D9D32:6:").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_STM_IP_1").State(energy);
CCU2
HM-ES-PMSw1-DR - MEQ0420711 und MEQ0420891
Code: Alles auswählen
svEnergyCounter_30937_MEQ0420711:2 67284.999996
svEnergyCounter_34130_MEQ0420891:2 1816086.298908
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_30937_MEQ0420711:2").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_SW1M_1").State(energy);
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_34130_MEQ0420891:2").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_SW1M_2").State(energy);
Ein
Code: Alles auswählen
WriteLine("Energiezähler CCU :\t"#dom.GetObject("svEnergyCounter_3793_0001D7098D9D32:6").Value());
WriteLine("Energiezähler CCU :\t"#dom.GetObject("svEnergyCounter_7474_0001D7098D9D56:6").Value());
WriteLine("Energiezähler CCU :\t"#dom.GetObject("svEnergyCounter_8020_0001D709A1058F:6").Value());
WriteLine("Energiezähler CCU :\t"#dom.GetObject("svEnergyCounter_7738_000895699E692B:5").Value());
Code: Alles auswählen
Energiezähler CCU : 225923.400000
Energiezähler CCU : 1504288.500000
Energiezähler CCU : 1346676.000000
Energiezähler CCU : 12154.800000
Die Programme werden laut Zeitstempel ausgeführt.
Ich habe die Programme bereit teilweise gelöscht und neu angelegt - immer the same.
Wo zum Geier habe ich das Brett vor'm Schädel?
Gruß Günter
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Kann das zwar grad nicht komplett lesen aber es fällt schon beim Durchsehen auf dem Handy auf:
Alchy
Ich hatte doch auch irgendwo ein Script gepostet, wo man alle diese Systemvariablen per Copy & Paste verwenden kann.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 9115
- Registriert: 17.11.2012, 10:47
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Köln
- Hat sich bedankt: 37 Mal
- Danksagung erhalten: 283 Mal
Re: Leistungsmesser mit Systemvariable, Skript
Hi,
wusste doch - auf dich ist Verlass.
Zum. bei den HMIP-PSM bin ich jetzt einen Schritt weiter - das geht jetzt - wunnebar.
Und das war beim
Danke!
Aber bei den HM-ES-PMSw1-DR stand ich nach wie vor vor dem Brett und konnte hier beim besten Willen keinen Unterschied feststellen.
Geht:
Geht nicht:
Ich habe dann zusätzlich die SysVars gelöscht und neu angelegt - jetzt geht es.
Danke dir auf jeden Fall für deine Mühe.
wusste doch - auf dich ist Verlass.
Zum. bei den HMIP-PSM bin ich jetzt einen Schritt weiter - das geht jetzt - wunnebar.
Und das war beim
passiert und ich habs nicht gesehen.
Danke!
Aber bei den HM-ES-PMSw1-DR stand ich nach wie vor vor dem Brett und konnte hier beim besten Willen keinen Unterschied feststellen.
Geht:
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_30937_MEQ0420711:2").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_SW1M_1").State(energy);
Code: Alles auswählen
var energy = dom.GetObject("svEnergyCounter_34130_MEQ0420891:2").Value().ToString(1)#" Wh";
dom.GetObject("Zaehler_SW1M_2").State(energy[attachment=0]Sysvar.JPG[/attachment]
Danke dir auf jeden Fall für deine Mühe.
Gruß Günter
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!
pivccx mit 3.xx in Produktiv und Testsystem mit HM-, HM-W, HMIP- und HMIP-W Geräten, HPCx Studio 4.1,
L-Gateways, RS-L-Gateways, HAP, Drap, FHZ200x, vereinzelt noch FS2x-Komponenten.
HM / HM-IP: Zur Zeit knapp 300 Komponenten mit ??? Kanälen .
Ich übernehme für alle von mir gegebenen Hinweise, Tipps und Links keine Haftung! Das Befolgen meiner Tipps ist nur für Fachkundige gedacht und erfolgt auf eigene Gefahr!