Hier Die Lösung für alle die den Gas Zählerstand aus einem S0 Kanal
erstellen wollen
1. in der datei /volkszaehler.org/lib/Volkszaehler/Definition/
<http://volkszaehler.org/lib/Volkszaehler/Definition$>EntityDefinition.json
dies:
{
"name" : "Gas-Stand",
"optional" : ["tolerance", "cost", "local"],
"icon" : "flame.png",
"unit" : " m³/h",
"interpreter" :
"Volkszaehler\\Interpreter\\SensorInterpreter",
"style" : "steps",
"model" : "Volkszaehler\\Model\\Channel",
"hasConsumption" : true,
"translation" : {
"de" : "Gas Zählerstand (Absolut)"
}
}
einfügen
2. Kanal Gas-Stand im Frontend erstellen
3. in phpmyadmin unter volkszaehler/entities die id des S0-Kanals und
Gas-Stand-Kanals suchen und
4. auf SQL oben klicken (in phpmyadmin)
5. SET GLOBAL EVENT_SCHEDULER = ON;
6. Auf OK klicken
7. dies einfügen und !!!Ab ändern!!!
CREATE EVENT `Gas_sum` ON SCHEDULE EVERY 1 HOUR DO insert into data
(channel_id, timestamp, value) select 43, unix_timestamp()*1000,
sum(value)/100+"ANFANGSTAND" from data where channel_id =44;
8. Auf Ok klicken
Falls man mit dem Teile nicht sicher ist kann man sich auch auf der
Konsole auf die Datenbank einloggen und es mit
select sum(value)/100 as Zaehlerstand from data where channel_id = 44
ausprobieren
43= Gas-Stand-ID
44=S0-Gas-ID
100=Bei mir der teiler wert des Zählers
"ANFANGSTAND" = Zähler Anfangstand wo man mit dem S0-loggen begonnen hat
Nicht die Schönste Lösung, da man immer den Anfangsstand eintippen muss
aber es geht....
Am 13.01.2014 19:43, schrieb Lars Rosenberg:
Hallo,
ich experimentiere den ganzen tag damit meine Gaszählerstände anzuzeigen.
Ich bin auf den Beitrag von Bernd gestoßen, der das selbe macht wie
ich vorhabe mittels:
CREATE EVENT `Gas_sum` ON SCHEDULE EVERY 1 HOUR DO insert into data
(channel_id, timestamp, value) select 25, unix_timestamp()*1000,
sum(value)/1000 from data where channel_id =8;
So wenn ich jetzt ein Kanal anlege mit Gas(Zaehlerstände) und passe
das Script so an:
CREATE EVENT `Gas_sum` ON SCHEDULE EVERY 1 HOUR DO insert into data
(channel_id, timestamp, value) select 43, unix_timestamp()*1000,
sum(value)/100+"ANFANGSTAND" from data where channel_id =44;
Bekomme ich bei Verbrauch genau das Angezeigt was ich sehen will.
Bei meinen Stromständen steht das jedoch unter aktuell.
Wenn ich mit der Auflösung und dem Teiler Spiele kommen die wildesten
zahlen bei aktuell raus
mal - mal + aber nie das was ich sehen will.
Was für ein Kanaltyp muss ich denn machen wenn ich einfach nur den
Stand sehen will?
Von mir aus auch über die Vergewaltige ausgabe S0Kanal+Anfangstand.
--
Lars Rosenberg
Jakob-Uhrhan-Str.10
35423 Lich
0172/6864806
www.solarlog24.de