Benzinpreis Adapter

WebUIs (DashUI, yahui, ...), Adapter (Hue, IRTrans, Sonos, ...), Logging, Scripting

Moderator: Co-Administratoren

alchy
Beiträge: 10757
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 05.03.2015, 20:56

Klick im Executer mal unten auf STDOUT :mrgreen: ist die Ausgabe schöner.

Natürlich kannst Du das Ganze auch auf einem anderen Kanal von cuxd exec ausführen (Uwe hat ja genug davon spendiert) aber ein 2tes Gerät ? Dabei einfach das was ich oben schrieb beachten.

So nun zur weiteren Frage, willst Du alle Preise in je einer Variablen abspeichern, jede für sich ..... ??

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.

michihorn
Beiträge: 321
Registriert: 02.06.2014, 10:35

Re: Benzinpreis Adapter

Beitrag von michihorn » 05.03.2015, 20:58

So läuft es bei mir.

var url = "http://www.benzinpreis-aktuell.de/widget/7241w";

!hier ist die Abfrage mit CUxD
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string sprit_xml = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();

var pos = sprit_xml.Find('class="pa"');
var len = sprit_xml.Length();
string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
string sprit_xml = sprit_xml_n;
var pos = sprit_xml_n.Find('/div');
string sprit_1 = sprit_xml_n.Substr(0, pos);
var len = sprit_1.Length();
string sprit_1_wert = sprit_1.Substr(0,5);
string sprit_1_name = sprit_1.Substr(13, (len - 15));

var pos = sprit_xml.Find('class="pa"');
var len = sprit_xml.Length();
string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
string sprit_xml = sprit_xml_n;
var pos = sprit_xml_n.Find('/div');
string sprit_2 = sprit_xml_n.Substr(0, pos);
var len = sprit_2.Length();
string sprit_2_wert = sprit_2.Substr(0,5);
string sprit_2_name = sprit_2.Substr(13, (len - 15));

var pos = sprit_xml.Find('class="pa"');
var len = sprit_xml.Length();
string sprit_xml_n = sprit_xml.Substr(pos + 11, (len - pos - 11));
string sprit_xml = sprit_xml_n;
var pos = sprit_xml_n.Find('/div');
string sprit_3 = sprit_xml_n.Substr(0, pos);
var len = sprit_3.Length();
string sprit_3_wert = sprit_3.Substr(0,5);
string sprit_3_name = sprit_3.Substr(13, (len - 15));

var e;
object obj = dom.GetObject('Preis_Aktualisierung');
e=obj.State(system.Date("%d.%m.%Y %H:%M:%S"));

object o = dom.GetObject('Preis_Super_Benzin');
var x = o.State(sprit_1_wert);
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State(o.Name()#";"#o.Value());

object o = dom.GetObject('Preis_Super_E10');
var x = o.State(sprit_2_wert);
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State(o.Name()#";"#o.Value());

object o = dom.GetObject('Preis_Diesel');
var x = o.State(sprit_3_wert);
dom.GetObject("CUxD.CUX2801001:1.LOGIT").State(o.Name()#";"#o.Value());


Danke nochmal an MarioP
Raspberrymatic, nano CUL, Elero-Stick, IOBroker auf WIN10, Tahoma, HUE, RING, Gardena

Benutzeravatar
Sprite01
Beiträge: 488
Registriert: 16.10.2011, 10:11
System: CCU
Wohnort: Dessau
Kontaktdaten:

Re: Benzinpreis Adapter

Beitrag von Sprite01 » 05.03.2015, 21:21

alchy hat geschrieben:Klick im Executer mal unten auf STDOUT :mrgreen: ist die Ausgabe schöner.
Stimmt, sieht besser aus. :D

Code: Alles auswählen

Super Benzin
1.349
Super E10
1.329
Diesel
1.149
alchy hat geschrieben:So nun zur weiteren Frage, willst Du alle Preise in je einer Variablen abspeichern, jede für sich ..... ??
Ich möchte verschiedene Variablen, da bin ich in der Darstellung von DashUI flexibler.

Ich werde jetzt mein 2. System.exec-Gerät löschen und mit CUxD.CUX2801001:2 alles noch mal neu probieren.

Nachtrag:
Mit dem Script oben von michihorn neu probiert - FUNKTIONIERT.
Ich danke euch für die hier gezeigte Unterstützung !
Gruß
Dirk

RaspberryMatic mit CUxD, XML-API und Email-Addon, Visualisierung mittels ioBroker auf Android 22"-Wandtablet
http://www.DessauWetter.de

MarioP
Beiträge: 81
Registriert: 12.12.2014, 22:29

Re: Benzinpreis Adapter

Beitrag von MarioP » 06.03.2015, 06:31

Hallo Dirk.

ich habe verschiedene Abruffunktionen im Einsatz.
Den Sprit, Onlinewetter, Pushmail, VPN-Status .....
Habe es anfangs auch mit nur einem virtuellen Gerät
versucht. Hat nicht stabil Funktioniert.

Habe jetzt für jede Anwendung ein virtuelles Gerät mit
einem Channel. Läuft perfekt.


LG - Mario
Mario

alchy
Beiträge: 10757
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 06.03.2015, 06:49

Lass das mal den Uwe lesen. :mrgreen:
Mit jedem exec kommen glaube 15 oder 16 Kanäle. Ich hatte noch nie Probleme mit Cuxd.
Es spricht nichts dagegen verschiedene Funktionen auf die Kanäle zu verteilen, aber für jede Funktion ein Gerät anlegen?
Nicht das es nicht funktioniert, aber ich traue Uwe durchaus zu das es unnötig ist.
Du kaufst doch auch keinen 4 Fach Aktor und nutzt immer nur einen.
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.

MarioP
Beiträge: 81
Registriert: 12.12.2014, 22:29

Re: Benzinpreis Adapter

Beitrag von MarioP » 06.03.2015, 14:52

Hi Alchy.

Nachdem ich im CUxD das Gerät angelegt habe,
gehe ich auf der CCU in den Posteingang,
stell die Channelmenge auf 1 und leg das Gerät an.

Somit hab ich nur einen einfachen Aktor. :D
Mario

alchy
Beiträge: 10757
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 674 Mal

Re: Benzinpreis Adapter

Beitrag von alchy » 06.03.2015, 16:49

Willst Du mich veralbern? Ich weiß, natürlich kann man die Kanalanzahl des Gerätes reduzieren.
Auch später noch in den Einstellungen des Gerätes auf der CCU. Ich hätte schreiben sollen standardmäßig kommt jedes Gerät...
Aber wenn Uwe ein mehrkanaliges Gerät anbietet, dann funktionieren auch mehrere Kanäle. :!:
Ich habe auch noch keine Post gelesen, der das Gegenteil behaupten würde.

Nur um das von meiner Seite klarzustellen:
Jeder kann es machen wie er will, jeder hat auch andere Ideen und Vorlieben,
Der eine erzeugt lieber 15 Geräte als 15 Kanäle eines Gerätes zu benutzen.
Das ist voll in Ordnung. Aber Warnungen an andere User:
MarioP hat geschrieben:Habe es anfangs auch mit nur einem virtuellen Gerät versucht. Hat nicht stabil Funktioniert.

sollten auch fundiert sein. :P :mrgreen:

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.

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Benzinpreis Adapter

Beitrag von uwe111 » 07.03.2015, 18:23

alchy hat geschrieben:Lass das mal den Uwe lesen. :mrgreen:
Hab's jetzt gelesen.
alchy hat geschrieben:Aber wenn Uwe ein mehrkanaliges Gerät anbietet, dann funktionieren auch mehrere Kanäle. :!:
Danke :) und ja, alle Kanäle funktionieren unabhängig voneinander. Unabhängig davon gibt es mit der aktuellen CUxD-Version auch keine Probleme mehr bei vielen gleichzeitigen Aufrufen von CUxD-System.Exec kurz hintereinander.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
Sprite01
Beiträge: 488
Registriert: 16.10.2011, 10:11
System: CCU
Wohnort: Dessau
Kontaktdaten:

Re: Benzinpreis Adapter

Beitrag von Sprite01 » 07.03.2015, 21:56

Nur zur Vollständigkeit ...
Nutze jetzt ein "Gerät" mit mittlerweile 3 Kanälen.
2 davon holen Benzinpreise (zur gleichen Zeit) von verschiedenen Tankstellen.
Keine Probleme ... :!:
Gruß
Dirk

RaspberryMatic mit CUxD, XML-API und Email-Addon, Visualisierung mittels ioBroker auf Android 22"-Wandtablet
http://www.DessauWetter.de

derBen
Beiträge: 47
Registriert: 09.06.2014, 21:42

Re: Benzinpreis Adapter

Beitrag von derBen » 09.03.2015, 22:39

Danke auch von mir, funktioniert super!

Antworten

Zurück zu „CCU.IO“