NEWS
[Vorlage] Betriebsstundenzähler & Verbrauchsrechner
-
Geil, es ist etwas in Script entstanden. Habe heute aber noch kein Gas entnommen, deshalb die Null.
Gerade eben die alte Rechnung durchgeschaut und den Brennwert gefunden. 11,432 ist angegeben.
special[1] = ['' ,'' ,'11,432' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ,'' ];
Soll ich nach der 11 eine Komma setzen, oder muß in deinem Script eine Null zwischen tun?
11,432 oder 11.432 ???
Edit: wird doch mit dem Punkt getrennt, zumindest schreiben die Meisten ein Punkt dazwischen….
1526_unbenannt.png
1526_unbenannt1.png -
@looxer,
die Tabelle mit KWh ist zwar da, allerdings bleiben die Werte dort beim Null.
Kannst Du meine Konfig überprüffen? Evtl. fällt Dir schnell etwas auf, was nicht o.k sein könnte…
1526_new_2.txt -
Hi,
setzt mal special(1)(8) auf false. (auf Bestätigung warten)
im Standard wird auf eine Bestätigung (acknowledge) gewartet. Da es sich aber um einen Javascript Datenpunkt handelt kommt diese nicht.
Daher erfolgt bei Aenderung des Datenpunktes Javascript.0.BSZ.Counter.Gas keine Ausführung des updates des Folgedatenpunktes.
vG Looxer
-
@looxer
ich verzweifle an dem Script…
Das rechnet nicht, aus welchem Grund auch immer...Ich habe auch in der Tabelle Spezial (1) (8) auf false gestellt.
ich will doch einfach den Tageswert in m3, was bereits ohne Probleme hochgezählt wird in KW ausgeben.
in meinem Bild sieht man doch die 0,1 m3... Diesen Wert einfach mal mit dem Brennwert 11.432 multiplizieren.
0.1x 11.432=1.14 KW
Wieso geht es nicht bei mir? Kannst Du mir einen einfachen Beispiel hier zeigen, wie ich eine Zahl aus der Objekt ID mit 11.432 multiplizieren kann?
Das kann doch nicht so schwer sein. Irgendwo muß ich doch ne Komma mit Punkt oder ähnliches vertauscht haben. Ich kriege es nicht hin das Teil zum Zählen zu bewegen.
1526_unbenannt.png -
es geht :mrgreen:
ich habe den Datenpunkt nicht Komplett ausgeschrieben!
javascript.0.BSZ.Counter.Heizung.DELTA.GAS sollte es heißen… und ich habe nur BSZ.Counter.Heizung.DELTA.GAS als Datenpunkt gesetzt!
Ich kenne Deine Beschreibung mitlerweile auswendig, trotzdem kam ich auf die Idee nicht, dass ich unter dem I den ganzen Datenpunkt notieren soll. Gelesen und nicht umgesetzt! :shock:
Danke für deine Hilfe!
-
habe bei einigen Datenpunkten nur 000:00:00:00
stehen
-
Hi Noxx,
die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)
Hattest du die Konfig schon über Nacht laufen ?
vG Looxer
-
Hi Noxx,
die Werte werden erst mit dem Tagesabschluss gefüllt. (also um Mitternacht)
Hattest du die Konfig schon über Nacht laufen ?
vG Looxer ` Läuft seit einer Woche
Gesendet von meinem Huawei P10lite mit Tapatalk
-
kannst du mal ins log schauen, ob es Meldungen um 00:04 gab ?
Deine Einstellungen sehen erstmal gut aus. Und der kumulierte Wert wird ja offensichtlich gefüllt.
Also stimmt was mit dem Tagesabschluss nicht. Wenn due das Programm neu startest muesstest du auch die Anzahl der schedules reported bekommen. Sollten 27 sein.
vG Looxer
-
erstmal das:
16:36:51.925 [info] javascript.0 Stop script script.js.common.Betriebsstundenzaehler 16:36:52.875 [info] javascript.0 Start javascript script.js.common.Betriebsstundenzaehler 16:36:52.876 [info] javascript.0 script.js.common.Betriebsstundenzaehler: registered 26 subscriptions and 27 schedules
`2017-09-22 00:00:00.118 - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4336 2017-09-22 00:00:00.207 - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4342 2017-09-22 00:00:00.257 - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 started with pid 4348 2017-09-22 00:00:00.323 - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 started with pid 4354 2017-09-22 00:00:00.885 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Ausgelöst bei Timer 2017-09-22 00:00:00.910 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 0: Cresta_ 1 Low battery: false 2017-09-22 00:00:00.911 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 1: Cresta_ 2 Low battery: false 2017-09-22 00:00:00.913 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 2: Cresta_ 4 Low battery: false 2017-09-22 00:00:00.914 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 3: Cresta_ 5 Low battery: false 2017-09-22 00:00:00.916 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Geräte Nr. 4: Cresta_ 3 Low battery: false 2017-09-22 00:00:00.927 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Text: 2017-09-22 00:00:00.928 - [32minfo[39m: javascript.0 script.js.common.Batteriestatus: Anzahl Geräte: 5 # davon LOWBAT erkannt: 0 2017-09-22 00:00:06.968 - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1 2017-09-22 00:00:07.171 - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1 2017-09-22 00:00:07.224 - [32minfo[39m: tvspielfilm.0 objects written 2017-09-22 00:00:07.809 - [32minfo[39m: ical.1 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1 2017-09-22 00:00:08.161 - [32minfo[39m: ical.0 starting. Version 1.3.2 in /opt/iobroker/node_modules/iobroker.ical, node: v6.11.1 2017-09-22 00:00:08.534 - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK) 2017-09-22 00:00:09.437 - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK) ... 2017-09-22 00:00:15.363 - [32minfo[39m: host.raspberrypi instance system.adapter.ical.0 terminated with code 0 (OK) 2017-09-22 00:00:15.490 - [32minfo[39m: host.raspberrypi instance system.adapter.ical.1 terminated with code 0 (OK) 2017-09-22 00:04:00.228 - [32minfo[39m: javascript.0 script.js.common.Betriebsstundenzaehler: EVENT Betriebsstundenzaehler werden zurueckgesetzt TAG:22 Wochentag 5Monat 09 2017-09-22 00:05:00.053 - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 started with pid 4396 2017-09-22 00:05:00.109 - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 started with pid 4403 2017-09-22 00:05:05.306 - [32minfo[39m: dwd.0 starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd, node: v6.11.1 2017-09-22 00:05:05.457 - [32minfo[39m: tvspielfilm.0 starting. Version 0.2.2 in /opt/iobroker/node_modules/iobroker.tvspielfilm, node: v6.11.1 2017-09-22 00:05:05.631 - [32minfo[39m: tvspielfilm.0 objects written 2017-09-22 00:05:06.349 - [32minfo[39m: host.raspberrypi instance system.adapter.dwd.0 terminated with code 0 (OK) 2017-09-22 00:05:07.432 - [32minfo[39m: host.raspberrypi instance system.adapter.tvspielfilm.0 terminated with code 0 (OK)[/code]` [2880_1.png](/assets/uploads/files/2880_1.png)
-
moin
woran liegts nun das keine delta-werte da sind?
-
Hi noxx,
meine Vermutung, dass der schedule nicht anläuft hat sich nicht bestätigt.
Erstens zeigt sagt das der Logeintrag und zweitens sehe ich, dass die Werte ja im systembereich gespeichert wurden.
Das heisst, dass zum Zeitpunkt des Tagesabschlusses die Routinen gelaufen sind aber keine Speicherung im counter (umgerechnet und gerundet) erfolgte. Woran das liegt weiss ich noch nicht. Es ist auch das erste mal, dass das auftritt.
Ich muss jetzt das Programm mit deinen Einstellungen checken.
Könntest du zu dem Folgendes machen: Lösche bitte manuell die Einträge mit den fehlenden Werten und lass das Programm neu anlaufen. Die Zeilen sollten dann neu erzeugt werden.
vG Looxer
-
löschen hat nichts gebraucht. nach neustart stand der zähler erst auf 0, nun wieder auf 000:00:00:00
-
was mich wunder, das bei den kumulierten Werten anscheinend die Delta Werte stehen….
2880_01.png
2880_01.png -
was mich wunder, das bei den kumulierten Werten anscheinend die Delta Werte stehen…. `
nein, das ist schon absolut ok. es sind die kumulierten delta-Werte.ich brauche noch etwas Zeit, um das Problem anzugehen.
Ich hoffe, dass ich kommende Woche dazu komme.
vG Looxer
-
Hi Noxx,
ich denke, dass ich was gefunden habe.
Eine Zwischenlösung könnte sein, dass du eine Rundung eingibst (z.B. 3 für 3 Nachkommastellen).
Dann sollten die Periodenwerte geschrieben werden. ggf. nochmal die Werte vorher löschen.
Der Fehler liegt also im Programm, tritt aber nur auf, wenn keine Umrechnung hinterlegt ist.
vG Looxer
-
Hi Noxx,
ich denke, dass ich was gefunden habe.
Eine Zwischenlösung könnte sein, dass du eine Rundung eingibst (z.B. 3 für 3 Nachkommastellen).
Dann sollten die Periodenwerte geschrieben werden. ggf. nochmal die Werte vorher löschen.
Der Fehler liegt also im Programm, tritt aber nur auf, wenn keine Umrechnung hinterlegt ist.
vG Looxer `
danke, nun gehts mit 3 Nachkommastellen.
-
danke, nun gehts mit 3 Nachkommastellen. `
super, ich werde dann demnächst eine neue Version zur Verfügung stellen, allerdings macht es eh Sinn mit Nachkommastellen zu arbeiten.Rundungsprobleme gibt es nicht, weil ja die ungerundeten Werte im Systembereich gespeichert werden und die Berechnungen mit diesen Zahlen gemacht werden.
vG Looxer
-
Hi,
ich lese mein Gaszähler mit einem Wemo aus. Siehe Script unten:
var request = require('request'); var parseString = require('xml2js').parseString; var url="http://192.168.1.105"; // hier die Adresse der Webseite eintragen var GasMeterId = "GasMeter.Wert"; // Der Wert steht in "javascript.0." function processData(body){ parseString(body, function (err, result) { // log(JSON.stringify(result.MyHome.ESP8266_GasMeter[0].data[4].$.value)); if (!err) setState(GasMeterId,result.MyHome.ESP8266_GasMeter[0].data[4].$.value); }); } createState(GasMeterId, 0, false, { type:"number", unit:"m^3" }); schedule ("*/3 * * * *", function(){ // alle 3 Minuten aufrufen request({ uri: url, method: "GET", timeout: 10000, followRedirect: true, maxRedirects: 10 }, function(error, response, body) { if (!error) { if (response.statusCode == 200) { processData(body); } } else log("Fehler: "+error); }); });
Es funktioniert alles wie es soll, leider bekomme ich alle drei minuten eine Warnung im Log.
Kann jemand sehen was dort nicht o.k ist? Kann man die Warnung irgenwie abstellen?
javascript.0 2017-10-05 09:42:01.497 info script.js.common.GaszaehlerWemo: setForeignState(id=javascript.0.GasMeter.Wert, state="383.50") javascript.0 2017-10-05 09:42:01.496 warn at process._tickCallback (internal/process/next_tick.js:104:9) javascript.0 2017-10-05 09:42:01.496 warn at _combinedTickCallback (internal/process/next_tick.js:80:11) javascript.0 2017-10-05 09:42:01.496 warn at endReadableNT (_stream_readable.js:974:12) javascript.0 2017-10-05 09:42:01.495 warn at IncomingMessage.emit (events.js:185:7) javascript.0 2017-10-05 09:42:01.495 warn at emitNone (events.js:91:20) javascript.0 2017-10-05 09:42:01.495 warn at IncomingMessage.g (events.js:292:16) javascript.0 2017-10-05 09:42:01.494 warn at IncomingMessage. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1091:12) javascript.0 2017-10-05 09:42:01.494 warn at Request.emit (events.js:188:7) javascript.0 2017-10-05 09:42:01.494 warn at emitOne (events.js:96:13) javascript.0 2017-10-05 09:42:01.493 warn at Request. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:1171:10) javascript.0 2017-10-05 09:42:01.493 warn at Request.emit (events.js:191:7) javascript.0 2017-10-05 09:42:01.492 warn at emitTwo (events.js:106:13) javascript.0 2017-10-05 09:42:01.492 warn at Request.self.callback (/opt/iobroker/node_modules/iobroker.javascript/node_modules/request/request.js:188:22) javascript.0 2017-10-05 09:42:01.492 warn at Request._callback (script.js.common.GaszaehlerWemo:34:17) javascript.0 2017-10-05 09:42:01.491 warn at processData (script.js.common.GaszaehlerWemo:9:4) javascript.0 2017-10-05 09:42:01.491 warn at exports.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:354:19) javascript.0 2017-10-05 09:42:01.491 warn at Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:5:59) javascript.0 2017-10-05 09:42:01.490 warn at Parser.exports.Parser.Parser.parseString (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:322:31) javascript.0 2017-10-05 09:42:01.490 warn at Object.write (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:1436:13) javascript.0 2017-10-05 09:42:01.490 warn at closeTag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:889:7) javascript.0 2017-10-05 09:42:01.489 warn at emitNode (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:629:5) javascript.0 2017-10-05 09:42:01.489 warn at emit (/opt/iobroker/node_modules/iobroker.javascript/node_modules/sax/lib/sax.js:624:35) javascript.0 2017-10-05 09:42:01.488 warn at Object.onclosetag (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:261:26) javascript.0 2017-10-05 09:42:01.488 warn at Parser.emit (events.js:188:7) javascript.0 2017-10-05 09:42:01.487 warn at emitOne (events.js:96:13) javascript.0 2017-10-05 09:42:01.487 warn at Parser. (/opt/iobroker/node_modules/iobroker.javascript/node_modules/xml2js/lib/parser.js:303:18) javascript.0 2017-10-05 09:42:01.486 warn at script.js.common.GaszaehlerWemo:12:11 javascript.0 2017-10-05 09:42:01.481 warn Wrong type of javascript.0.GasMeter.Wert: "string". Please fix, while deprecated and will not work in next versions.
-
Hi,
das hat nichts mit dem Betriebsstundenzähler zu tun.
scheint irgendwas beim parsen zu passieren.
Ich kann dir auf die Schnelle das Problem nicht lösen. Die Warnungen könnte man zwar prinzipiell über den log level unterdrücken. Allerdings ist dass das kurieren von Symptomen. (und andere Warnmeldungen willst du vielleicht sehen)
zu dieser Warnmeldung:
Wrong type of javascript.0.GasMeter.Wert: "string". Please fix, while deprecated and will not work in next versions.
stelle das objekt javascript.0.GasMeter.Wert auf number um.
vG Looxer