Youless
Moderator: Co-Administratoren
Youless
Moin moin
Ich habe mir einen Youless Monitor zugelegt. Funktioniert einwandfrei. Leider ist das App im Schweizer Store nicht verfügbar.
http://wiki.td-er.nl/index.php?title=YouLess
Aus diesem Grund möchte ich Ihn ins CCU-Historian einbinden.
Das Ding kann jason. Ich brächte einen EINPACKBEFEHL für die Homematic damit er im Historian angezeigt wird.
Ich gebe im Webbrowser folgendes ein: http://192.168.x.xx/V?h=1
Als Antwort erhallte ich :
Verbrauch (Watt)
08:05 756
08:06 744
08:07 744
08:08 744
08:09 744
08:10 612
usw bis 08:58
Ich denke der Weg geht ähnlich wie das Einbinden vom Wetterdienst.
Ich habe eine Variable erstellt : Name Stromverbrauch ...Zahl Wert ... Watt
Dann unter addons ein Ordner Stromverbrauch erstellt
Was nun fehlt ist das Script... und das kann ich nicht. Kann mir jemand helfen?
Ich habe mir einen Youless Monitor zugelegt. Funktioniert einwandfrei. Leider ist das App im Schweizer Store nicht verfügbar.
http://wiki.td-er.nl/index.php?title=YouLess
Aus diesem Grund möchte ich Ihn ins CCU-Historian einbinden.
Das Ding kann jason. Ich brächte einen EINPACKBEFEHL für die Homematic damit er im Historian angezeigt wird.
Ich gebe im Webbrowser folgendes ein: http://192.168.x.xx/V?h=1
Als Antwort erhallte ich :
Verbrauch (Watt)
08:05 756
08:06 744
08:07 744
08:08 744
08:09 744
08:10 612
usw bis 08:58
Ich denke der Weg geht ähnlich wie das Einbinden vom Wetterdienst.
Ich habe eine Variable erstellt : Name Stromverbrauch ...Zahl Wert ... Watt
Dann unter addons ein Ordner Stromverbrauch erstellt
Was nun fehlt ist das Script... und das kann ich nicht. Kann mir jemand helfen?
-
- Beiträge: 1791
- Registriert: 03.11.2010, 10:25
- System: CCU
- Wohnort: Aachen
- Hat sich bedankt: 58 Mal
- Danksagung erhalten: 260 Mal
- Kontaktdaten:
Re: Youless
Du musst den benötigten Wert nur in eine Systemvariable bekommen, dann wird er vom CCU-Historian automatisch aufgezeichnet.
Nach einem kurzen Überfliegen der angegebenen Web-Seite hätte ich folgende Idee:
Gruß
Mathias
Nach einem kurzen Überfliegen der angegebenen Web-Seite hätte ich folgende Idee:
- Systemvariable (Typ Zahl) anlegen
- HomeMatic-Script erstellen, das zyklisch aufgerufen wird
- Im Script mittels system.Exec wget aufrufen, um über HTTP den aktuellen Wert zu lesen und diesen dann in der Systemvariable zu speichern. Am besten nutzt Du das Plain Text-Format, dort kann der Zahlenwert am einfachsten heraus gefischt werden.
Gruß
Mathias
Re: Youless
Punkt 1 und 2 hatte ich schon
ich kämpfe mit Punkt 3
Script.....
soweit bin ich aber komme nicht weiter
Ich habe ein Script aber ich weiss nicht was ich einsetzen soll anstelle von anwesend
ich erhallte ja eine 4 Stellige Zahl BSP 1590
string stderr;
string stdout;
string url="http://www.webseite.de/status.php?anwesenheit="
if (dom.GetObject("Anwesenheit").Variable())
{
url=url # "Anwesend";
}
else
{
url=url # "Abwesend";
}
system.Exec("wget -q -O - "#url, &stdout, &stderr);
ich kämpfe mit Punkt 3
Script.....
soweit bin ich aber komme nicht weiter
Ich habe ein Script aber ich weiss nicht was ich einsetzen soll anstelle von anwesend
ich erhallte ja eine 4 Stellige Zahl BSP 1590
string stderr;
string stdout;
string url="http://www.webseite.de/status.php?anwesenheit="
if (dom.GetObject("Anwesenheit").Variable())
{
url=url # "Anwesend";
}
else
{
url=url # "Abwesend";
}
system.Exec("wget -q -O - "#url, &stdout, &stderr);
Re: Youless
string stdout;
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.x.xx/V?h=1/status.html?)
Nur fehlt hier noch der variable befehl
Bzw der Rest..
string stderr;
system.Exec("wget -O /dev/null -q http://192.168.x.xx/V?h=1/status.html?)
Nur fehlt hier noch der variable befehl
Bzw der Rest..
Re: Youless
Wenn du das ganze als Plain Text:
http://192.168.x.xx/a ausgibst bekommst du
zurück.
Die Zeile die du brauchst kannst du ohne die Einheit so holen:
holen.
Eingebettet in CuxD:
Gruß
Unlight
http://192.168.x.xx/a ausgibst bekommst du
Code: Alles auswählen
4456,980 kWh
457 Watt
0%
OK (13)
Die Zeile die du brauchst kannst du ohne die Einheit so holen:
Code: Alles auswählen
wget http://192.168.x.xx/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //
Eingebettet in CuxD:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget http://192.168.x.x/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var MEINEKILOWATTZAHL = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Unlight
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Re: Youless
Besten Dank für die Unterstützung.
Das Script hat noch einen kleinen Fehler. Das Dach (rot markiert) am Schluss musste ich löschen dass das script übernommen wurde.
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget http://192.168.x.x/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var MEINEKILOWATTZAHL = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Wie kann ich nun aus diesem Script eine Systemvariable erstellen?
Die Zahl wird angezeigt im Testmodus und auch im Testmodus ausgeführt.
Das Script hat noch einen kleinen Fehler. Das Dach (rot markiert) am Schluss musste ich löschen dass das script übernommen wurde.
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget http://192.168.x.x/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var MEINEKILOWATTZAHL = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
Wie kann ich nun aus diesem Script eine Systemvariable erstellen?
Die Zahl wird angezeigt im Testmodus und auch im Testmodus ausgeführt.
Re: Youless
Auf meiner CCU2 gehts auch mit dem Dach.
In eine Variable schreiben kannst du es so:
In eine Variable schreiben kannst du es so:
Code: Alles auswählen
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget http://192.168.x.x/a -q -O - |grep kWh|sed s/\ kWh//|sed s/\,/\./|sed s/^\ //");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
var MEINEKILOWATTZAHL = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
dom.GetObject("Name der Variable").State(MEINEKILOWATTZAHL);
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”
Re: Youless
Hallo zusammen. Es klappt alles wunderbar.
Habe jetzt ein bisschen weiterexperimentiert und 2 Variable und 2 Zeitprogramme geschrieben . 1 mal Hoch- und 1mal Niedertarif.
Mittels Zeitmodul Eingabe von : 00.00 -0700 und 20:00-00:00 ( NT ) und 07:00 bis 20:00 ( HT) - Intervall alle 30 min ( das reicht mir für Anzeige im Histaorian)
Das klappt für einen Tag.
Gibst eine Möglichkeut das auch auf eine Woche auszuweiten?
Beim Zeitmodul kann ich zwar dann Tage auswählen aber dann nicht mehr den Intervall
Unsere Zeiten für HT sind Mo-Fr 07:00 -20:00 und am Sa von 07:00 - 13:00 ( intervall alle 30 min)
Der Rest ist NT diro Intervall alle 30 min
Ich müsste 2 Zeitprogramme NACHEINANDER laufen lassen können. Zuerst die Tagesauswahl und wenn Tag und Zeit ok dann Zeitprogramm mit Intervall-
Geht dass überhaupt oder mache ich einen Denkfehler?
Habe jetzt ein bisschen weiterexperimentiert und 2 Variable und 2 Zeitprogramme geschrieben . 1 mal Hoch- und 1mal Niedertarif.
Mittels Zeitmodul Eingabe von : 00.00 -0700 und 20:00-00:00 ( NT ) und 07:00 bis 20:00 ( HT) - Intervall alle 30 min ( das reicht mir für Anzeige im Histaorian)
Das klappt für einen Tag.
Gibst eine Möglichkeut das auch auf eine Woche auszuweiten?
Beim Zeitmodul kann ich zwar dann Tage auswählen aber dann nicht mehr den Intervall
Unsere Zeiten für HT sind Mo-Fr 07:00 -20:00 und am Sa von 07:00 - 13:00 ( intervall alle 30 min)
Der Rest ist NT diro Intervall alle 30 min
Ich müsste 2 Zeitprogramme NACHEINANDER laufen lassen können. Zuerst die Tagesauswahl und wenn Tag und Zeit ok dann Zeitprogramm mit Intervall-
Geht dass überhaupt oder mache ich einen Denkfehler?