PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Daten aus HS-Archiv auslesen



ak68
19.11.06, 16:47
hallo zusammen,

wer kann mir verraten, wie ich daten aus dem (erfolgreich) erstellten hs-archiv auslesen kann ?

eigentlich müsste das ja über "web-seiter/IP-Adresse" funktionieren.

hab folgende einstellungen "getätigt":
ip-Host: HS-IP (bei mir 10.10.0.31)
ip-Port: 80
HTTP-Abruf senden:
/hslist?lst=jahr&user=______&pw=_____
empfang:
beliebige daten
text: hier scheitere ich ! wie muss ich hier z.b. 1. wert aus zeile 1 (hier 9,4) auslesen
Wert als Klartext : max. temperatur gestern

wie sieht hier die korrekte syntax aus ?

der eintrag der ersten zeile ist:

<html><head>
<style type="text/css">
<!--
td { text-align : right; }
td#l { text-align : left; }
th { text-align : right; }
th#l { text-align : left; }
-->
</style></head>
<body><table border=1 cellpadding=5>
<tr><th id="l">Datum+Uhrzeit</th><th>T.Außen-Max</th><th>T.Außen-Min</th><th>T.Außen-Mittelwert</th><th>Regen-h</th><th>Sonnenwinkel Max.</th><th>Mondphase</th><th>Wind max.</th><th>Betriebszeit Solarpumpe</th><th>Betriebszeit Heizstab</th><th>Sonenscheindauer</th></tr>
<tr><td id="l">19.11.2006 00:00:02</td><td>9,4</td><td>6,2</td><td>7,3</td><td>0,0</td><td>22</td><td>26</td><td>3</td><td>0,5</td><td>1,9</td><td>0,1</td></tr>
</table></body></html>

vielen dank für euere hilfe:confused:
andreas k. aus regensburg

EIB-Freak
19.11.06, 17:21
Hallo Andreas,

verstehe ich das richtig - du willst aus dem Archiv, welches IM HS hinterlegt ist, daten per Webabfrage auslesen ?

D.h. du hast dir das Archiv als HTML-Seite (den Quelltext) angeschaut ?


Ich denke nicht, dass das funktioniert.

Vllt. kann Matthias oder colt oder so etwas dazu sagen.

Sollte es funktionieren, würde ich mal ne webabfrage schreiben.


Gruss,
Michael

Matthias Schmidt
19.11.06, 17:36
Freilich funktioniert das.

Quelltext des Archives anschauen, Daten analysieren, .....

Frage mich allerdings, warum man daten, die sowieso im HS verfügbar sind, auf dem Weg wieder auslesen will/muss!?

blue
19.11.06, 17:39
hallo,

in deinem fall, obwohl ich es mir jetzt nicht näher ansehen konnte, wäre die abfrage wie folgt:

beliebige daten
text Sonnenscheindauer
beliebige daten
text </td><td>
wert als klartext (hier würde jetzt die 9,4 eingetragen werden.)
text </td>

usw.

gruss

günther

Matthias Schmidt
19.11.06, 18:17
Günther, der Meister der Webabfragen. Selbst im Urlaub schüttelt er die Lösung aus dem Ärmel...:)

Trotzdem interessiert mich, warum ich erst eine Variable in ein Archiv schreibe, um sie dann wieder aus dem Archiv auszulesen.

@Günther
Gruß aus Coburg!

ak68
19.11.06, 18:55
Trotzdem interessiert mich, warum ich erst eine Variable in ein Archiv schreibe, um sie dann wieder aus dem Archiv auszulesen.


hallo matthias,

vielen dank für deine (und vor allem von blue) schnellen antworten,

mein ziel ist, ältere daten (z.b. der vortage) zu vergleichen bzw. rechenoptionen durchzuführen (zählerstände etc), da mein abb-baustein hierzu in verbindung mit baustein "energiezähler" ständig mist baut.

o.k.- ich muss zugeben, habe gerade deinen beitrag "setze den wert von ko" gelesen, wohl die einfachere lösung, habe über zuviele ecken gedacht !

- aber beim hs weiss man ja nie, für was man dies möglichkeit noch braucht !

viele grüsse aus regensburg
andreas k.

Gaston
19.11.06, 20:51
mein ziel ist, ältere daten (z.b. der vortage) zu vergleichen bzw. rechenoptionen durchzuführen (zählerstände etc), da mein abb-baustein hierzu in verbindung mit baustein "energiezähler" ständig mist baut.


In wie weit baut der Mist ? Weil er Impulse nicht alle Zählt oder nach einem reset wieder bei 0 Anfängt ? Oder doch was anderes ?

Gruss,
Gaston

ak68
19.11.06, 22:21
hallo gaston,

leider scheint das zusammenspiel zwischen universaleingang und energiezählerbaustein nicht zu passen (falsche berechnung der vortageswerte)- oder habeich ´was übersehen (blatt als *.pdf angehängt !)
außerdem kein zusammenspiel S0-ausgang des wasserzählers mit universaleingang us/u 4.2 möglich (warum weiss ich nicht, so-signal o.k., jedoch ausgang immer 0 trotz unterschiedlichster einstellungen).
darüber hinaus (wie schon im forum beschrieben immer wieder resets (selbstverständlich nicht nur bei gerätereset sondern wahllos und zu nicht nachvollziehbaren zeiten).

insgesamt etwas unbefriedigend, daher überlege ich schon, über die funktion "schaltzähler" im gira binäreingang zu arbeiten- signale zählen und vom hs weiter verarbeiten lassen, außerdem habe ich dann das reset-problem nicht mehr.

mfg aus regensburg
andreas k.

Gaston
20.11.06, 00:56
Sieht soweit alles richtig aus, mich wundert nur der "krumme" Korrektur-Faktor von 480.

Ich habe meine Zähler (ausser Strom) auch über US/U 4.2 laufen, und keine Probleme damit ausser wenn ich einen Bus-reset habe dass er dann wieder beim Startwert anfängt.

Ich glaube ich werde jetzt endlich mal die Veränderung am Energiezähler vornehmen dass dieser reset berücksichtigt wird.

Gruss,
Gaston

ak68
20.11.06, 13:33
Sieht soweit alles richtig aus, mich wundert nur der "krumme" Korrektur-Faktor von 480.

hallo gaston,

danke für deine antwort, der korrekturfaktor kommt dadurch zustande:
1 kWh = 480 impulse (warum auch immer dieser komische betrag)
müsste aber doch richtig eingetragen sein- oder ?

vielen dank
andreas k.

ak68
22.11.06, 07:18
hallo gaston,

bin weiter auf fehlersuche deines energiezählers und habe ´mal die zeit-impulse(ebenfalls aus deinen bausteinen) aufgezeichnet das archiv beigelegt.

ist es normal, dass stündlich auch bei den tagesimpulsen eine 1 auftaucht ? werden damit die einstellungen nicht zurückgesetzt ?

vielen dank für deinen antwort
andreas k.

Gaston
22.11.06, 08:15
Hallo Andreas,

Ich schaue mir das gerne mal an, allerdings will ich mich nicht mir fremden Federn schmücken, der Energiezähler stammt von Tilo (aka bytefactory) ;) Ich will den Baustein legedlich so abändern dass er counter resets erkennt und richtig auswertet.

Wenn es 480 Imp/kW sind dann ist der Korrekturwert richtig.

Gruss,
Gaston

Gaston
22.11.06, 17:40
Oh, hätt ich mal zuerst das PDF andesehen, ja das ist mein Baustein :shithappe

Hab ich da was in der Doku vergessen ? Es darf nur einer der beiden Eingänge angeschlossen sein. Es ging mir darum dass man bestehende Impulse zu verwenden kann, also nicht einen speziellen Tag-Impuls einbauen muss wenn man schon einen Stunden Impuls hat.

Gruss,
Gaston

Gaston
22.11.06, 18:04
Ich habe jetzt auch den Baustein von Tilo dahingehenmd geändert dass er einen Reset des Zähler verträgt, ausserdem ist das verhalten der Ausgänge Counter (Abgleich) und Zählerstand (Abgleich) geändert:

Die Counter (z.B. US/U 4.2) sollten so konfiguriert sein dass Ihr Startwert 0 ist, sie also bei einem Bus reset bei 0 Anfangen zu zählen
Counter stand "0" wird ignoriert somit kommt es zu keinen Problemen beim Init des HS oder wenn z.B der Counter nicht gescannt werden konnte (default wert des KOs im HS sollte 0 sein)
Immer wenn Counter<LetzterCounter wird davon ausgegangen dass ein reset des Counters vorliegt und der Baustein führt einen Automatischen Abgleich durch (Zählerstand Abgleich=Aktueller Zählerstand, Counter Abgleich=0)
Zählerstand- und Counter-Abgleich Ausgänge geben jetzt den jeweiligen Wert beim Abgleich (manuell oder automatisch) aus.Vorher gaben die Ausgänge an ob ein Abgleich gemacht wurde. Die Änderung der Ausgänge was nötig da bei einem Counter=0 dieser Ausgang=0 wäre was aber nicht sehr kohärent ist, aber wiederum durch den automatischen Abgleich möglich ist.

Eine andere Möglichkeit wäre den Status des Abgleiches zu einem einzigen Ausgang zusammenzufügen (Also Abgleich-Status= Counter-Abgleich<>0 OR Zählerstand-Abgleich<>0)

Modifizierter Baustein im nächsten Post. Das original von Tilo findet man hier: Original Energiezähler (http://www.eib4fun.de/homeserver/hs_logik.html#Energiezaehler)

Gruss,
Gaston

Gaston
22.11.06, 18:06
###################################
### (C) 2004, Tilo Kühn, v1.0
###
### V1.1 Modifiziert von Gaston Gloesener am 22.11.2006
### -> Augänge "Counter (Abgleich)" & "Zählerstand Abgleich"
### enthalten nun di ejewiligen Werte zum Zeitpunkt des Abgleiches (nicht mehr den Status 0/1)
### -> Counter resets werden registriert und ein automatischer Abgleich gemacht
### Ein reset wird dann angenommen wenn Neuer-Counter<Alter-Counter
### -> Counter=0 wird ignoriert um sicherzustellen dass nur mit richtigen counter werten gearbeitet wird
### und z.B. Scanfehler nicht als Counter-Reset gewertet werden
### -> Die Counter (z,B. US/U 4.2) müssen "0" als Startwert haben
### -> Meine Änderungen sind mit "GG:" kommentiert
###################################
### BS : Energiezähler
###################################
5000|"#Statistik\Energiezähler"|1|7|"Counter (Aktuell)"|"Zählerstand (Abgleich)"|"Korrektur-Faktor"|"Preis in Euro/Einheit"|"Reset: (Bereich A, z.b. neuer Tag)"|"Reset: (Bereich B, z.b. neuer Monat)"|"Reset: (Bereich C, z.b. neues Jahr)"|16|"Zählerstand (Gesamt)"|"Counter (Abgleich)"|"Zählerstand Abgleich"|"Preis in Euro (Gesamt)"|"Bereich A (Neu), Zählerstand"|"Bereich A (Alt), Zählerstand"|"Bereich A (Neu), Euro"|"Bereich A (Alt), Euro"|"Bereich B (Neu), Zählerstand"|"Bereich B (Alt), Zählerstand"|"Bereich B (Neu), Euro"|"Bereich B (Alt), Euro"|"Bereich C (Neu), Zählerstand"|"Bereich C (Alt), Zählerstand"|"Bereich C (Neu), Euro"|"Bereich C (Alt), Euro"
5001|7|16|0|10|1
# EN[x]
5002|1|0|0 # Counter (Aktuell)
5002|2|0|0 # Zählerstand (Abgleich)
5002|3|1|0 # Korrektur-Faktor
5002|4|0|0 # Preis in Euro/Einheit
5002|5|0|0 # reset: (1. bereich, z.b. neuer tag)
5002|6|0|0 # reset: (2. bereich, z.b. neuer monat)
5002|7|0|0 # reset: (3. bereich, z.b. neues jahr)
# ausgänge
5004|1|0|0|2|0 # Gesamt Zählerstand
5004|2|0|0|2|0 # Counter Abgleich
5004|3|0|0|2|0 # Zählerstand Abgleich
5004|4|0|0|2|0 # Gesamt in Euro
5004|5|0|0|2|0 # 1. Bereich Neu, Zählerstand
5004|6|0|0|2|0 # 1. Bereich Alt, Zählerstand
5004|7|0|0|2|0 # 1. Bereich Neu, Euro
5004|8|0|0|2|0 # 1. Bereich Alt, Euro
5004|9|0|0|2|0 # 2. Bereich Neu, Zählerstand
5004|10|0|0|2|0 # 2. Bereich Alt, Zählerstand
5004|11|0|0|2|0 # 2. Bereich Neu, Euro
5004|12|0|0|2|0 # 2. Bereich Alt, Euro
5004|13|0|0|2|0 # 3. Bereich Neu, Zählerstand
5004|14|0|0|2|0 # 3. Bereich Alt, Zählerstand
5004|15|0|0|2|0 # 3. Bereich Neu, Euro
5004|16|0|0|2|0 # 3. Bereich Alt, Euro
# SN[x]
5003|1|0|1 # Zählerstand (GG: Remanent für automatischen Abgleich)
5003|2|0|1 # Counter (Abgleich)
5003|3|0|1 # Zählerstand (Abgleich)
5003|4|0|1 # Zählerstand Start(1. Bereich, heute)
5003|5|0|1 # Zählerstand ALT (1. Bereich, gestern)
5003|6|0|1 # Zählerstand Start(2. Bereich, monat)
5003|7|0|1 # Zählerstand ALT (2. Bereich, vormonat)
5003|8|0|1 # Zählerstand Start(3. Bereich, jahr)
5003|9|0|1 # Zählerstand ALT (3. Bereich, jahr)
5003|10|0|1 # GG: Counter - Speicher für alten Wert zum Erkennen von Counter reset
# GG: 0 < Neuer Counter < Alter Counter -> Reset des Zählers
# In diesem Fall wird ein neuer automatischer Abgleich gemacht (Counter=0 Counter=Alter wert)
5012|1|"EN[1]==0"|""|""|0|0|0|0 # Counter=0 nicht erlauben (auf nächten Wert warten)
5012|0|"(EC[1]!=0) and (EN[1]<SN[10])"|"0"|""|0|0|2|0 # Counter Abgleich=0 (Reset auf 0 wird angenommen)
5012|0|"(EC[1]!=0) and (EN[1]<SN[10])"|"SN[1]"|""|0|0|3|0 # Zählerstand Abgleich=Alter Zählerstand
5012|0|"(EC[1]!=0)"|"EN[1]"|""|0|0|10|0 # Counter merken
# zählerstand bei abgleich übernehmen
5012|0|"EI==0 and EC[2]==1"|"EN[1]"|""|0|0|2|0
5012|0|"EI==0 and EC[2]==1"|"EN[2]"|""|0|0|3|0
# zählerstand ausrechnen
5012|0|"EN[3]!=0"|"(EN[1]-SN[2])/EN[3]+SN[3]"|""|1|0|1|0
5012|0|"EN[3]==0"|"88888"|""|1|0|1|0
#5012|0|""|"SN[2]!=0"|""|2|0|0|0
#5012|0|""|"SN[3]!=0"|""|3|0|0|0
5012|0|""|"SN[2]"|""|2|0|0|0
5012|0|""|"SN[3]"|""|3|0|0|0
5012|0|"EN[4]"|"SN[1]*EN[4]"|""|4|0|0|0
#############
# Zeitraum1:
#############
# reset: ALT berechnen
5012|0|"EC[5]"|"SN[1]-SN[4]"|""|0|0|5|0
# reset: startwert für NEU setzen
5012|0|"EC[5]"|"SN[1]"|""|0|0|4|0
#
# ausgänge berechnen:
5012|0|""|"SN[1]-SN[4]"|""|5|0|0|0
5012|0|""|"SN[5]"|""|6|0|0|0
5012|0|""|"(SN[1]-SN[4])*EN[4]"|""|7|0|0|0
5012|0|""|"SN[5]*EN[4]"|""|8|0|0|0
#############
#############
# Zeitraum2:
#############
# reset: ALT berechnen
5012|0|"EC[6]"|"SN[1]-SN[6]"|""|0|0|7|0
# reset: startwert für NEU setzen
5012|0|"EC[6]"|"SN[1]"|""|0|0|6|0
#
# ausgänge berechnen:
5012|0|""|"SN[1]-SN[6]"|""|9|0|0|0
5012|0|""|"SN[7]"|""|10|0|0|0
5012|0|""|"(SN[1]-SN[6])*EN[4]"|""|11|0|0|0
5012|0|""|"SN[7]*EN[4]"|""|12|0|0|0
#############
#############
# Zeitraum3:
#############
# reset: ALT berechnen
5012|0|"EC[7]"|"SN[1]-SN[8]"|""|0|0|9|0
# reset: startwert für NEU setzen
5012|0|"EC[7]"|"SN[1]"|""|0|0|8|0
#
# ausgänge berechnen:
5012|0|""|"SN[1]-SN[8]"|""|13|0|0|0
5012|0|""|"SN[9]"|""|14|0|0|0
5012|0|""|"(SN[1]-SN[8])*EN[4]"|""|15|0|0|0
5012|0|""|"SN[9]*EN[4]"|""|16|0|0|0
#############