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

Antwort per Email an