[vz-users] volkszaehler-users Digest, Vol 65, Issue 108
Frank Richter
frank.richter83 at gmail.com
Fri Dec 30 14:37:49 CET 2016
Hallo Michael,
bitte nicht auf die Digest-Mail antworten, dabei entsteht Thread-Chaos.
Gruß
Frank
Am 30.12.2016 14:33 schrieb "Michael Knapp" <michael at evo3.net>:
> Hallo Andreas,
>
> ich habe den Kanal als Betriebsstundenzähler Sensor und auch als
> Betriebsstundenzähler Impuls konfiguriert gehabt, haben sich beide gleich
> verhalten.
>
> VG Michael
>
> Von meinem iPhone gesendet
>
> > Am 30.12.2016 um 06:39 schrieb volkszaehler-users-request@
> demo.volkszaehler.org:
> >
> > Send volkszaehler-users mailing list submissions to
> > volkszaehler-users at demo.volkszaehler.org
> >
> > To subscribe or unsubscribe via the World Wide Web, visit
> > https://demo.volkszaehler.org/mailman/listinfo/volkszaehler-users
> > or, via email, send a message with subject or body 'help' to
> > volkszaehler-users-request at demo.volkszaehler.org
> >
> > You can reach the person managing the list at
> > volkszaehler-users-owner at demo.volkszaehler.org
> >
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of volkszaehler-users digest..."
> >
> >
> > Today's Topics:
> >
> > 1. Re: Volkszähler Betriebszustands (Betriebsstunden)
> > Erfassung. (Andreas Goetz)
> > 2. Re: Probleme mit Zeilenumbruch in einem Import-Script
> > (Lars Täuber)
> > 3. Re: Probleme mit Zeilenumbruch in einem Import-Script
> > (Lars Täuber)
> > 4. Re: Volkszähler Betriebszustands (Betriebsstunden)
> > Erfassung. (dl4huf at t-online.de)
> >
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Thu, 29 Dec 2016 12:07:11 +0100
> > From: Andreas Goetz <cpuidle at gmail.com>
> > To: "volkszaehler.org - users"
> > <volkszaehler-users at demo.volkszaehler.org>
> > Subject: Re: [vz-users] Volkszähler Betriebszustands
> > (Betriebsstunden) Erfassung.
> > Message-ID:
> > <CAD+a8MizLB3P-PGw3gwo=_eBNe5AC4QRomUMFi3uFtd4DhPLNA at mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Wie hast Du denn den Kanal konfiguriert und hast Du eine aktuelle
> > Installation des Frontends?
> >
> > Viele Grüße,
> > Andreas
> >
> >
> > 2016-12-29 10:49 GMT+01:00 Michael Knapp <michael at evo3.net>:
> >
> >> Hallo zusammen,
> >>
> >> Ich versuche gerade über den S0/1 (Udo's Raspberry Erweiterung) den
> >> Betriebszustand eines Gasbrenners einzulesen und dann zu Visualisieren.
> >>
> >> Ziel wäre es das bei Brenner aus 0 angezeigt wird und bei Brenner an den
> >> wert 1 um sehen zu können wann der Brenner läuft und wann er aus ist.
> >>
> >> Nach ein paar versuchen zusammen mit Udo habe ich es leider trotzdem
> nicht
> >> hinbekommen.
> >>
> >> Beim ein und ausschalten des Brenners wird jeweils nur ein kurzer Impuls
> >> angezeigt. Der Wert 1 (Brenner An) sollte aber immer bei 1 bleiben.
> >>
> >> Die Config zu S0/1 sieht so aus:
> >>
> >> {
> >>
> >> "enabled": true,
> >>
> >> "allowskip": false,
> >>
> >> "interval": 60,
> >>
> >> "aggtime": -1,
> >>
> >> "aggfixedinterval": false,
> >>
> >> "channels": [
> >>
> >> {
> >>
> >> "uuid": "16340d60-84d3-11e6-b24c-75867e2891aa",
> >>
> >> "identifier": "Impulse",
> >>
> >> "api": "volkszaehler",
> >>
> >> "middleware": "http://127.0.0.1/middleware.php",
> >>
> >> "aggmode": "none",
> >>
> >> "duplicates": 0
> >>
> >> }
> >>
> >> ],
> >>
> >> "protocol": "s0",
> >>
> >> "gpio": 18,
> >>
> >> "configureGPIO": true,
> >>
> >> "send_zero": true,
> >>
> >> "debounce_delay": 200
> >>
> >> },
> >>
> >>
> >> Hat noch jemand eine Idee wie ich das hinbekommen könnte?
> >>
> >>
> >> VG Michael
> >>
> >>
> >>
> >>
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/
> attachments/20161229/a01eb884/attachment-0001.html>
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Thu, 29 Dec 2016 23:15:05 +0100
> > From: Lars Täuber <lars.taeuber at web.de>
> > To: "volkszaehler.org - users"
> > <volkszaehler-users at demo.volkszaehler.org>
> > Subject: Re: [vz-users] Probleme mit Zeilenumbruch in einem
> > Import-Script
> > Message-ID: <20161229231505.0a71904f4bd0af5cb13aca01 at web.de>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hallo Dennis,
> >
> > ich bin beim Formulieren von Antworten etwas ungeschickt. Bitte fasse
> die Mail nicht als Belehrung auf.
> > Ich schreibe mal, ein paar Grundbemerkungen auf und dann eine Lösung,
> wie ich es machen würde.
> >
> > * Konvention in Shellskripten: Endung auf .sh; lassen sich so besser von
> AWK-Skripten (*.awk) usw. unterscheiden
> >
> > * Konvention in Shellskripten: Variablennamen in Großbuchstaben:
> "${DATEIEN[$I]}"
> >
> > * Wenn man Dateien in Shellskripten als Option übergibt, sollte man
> darauf achten, dass evtl Sonderzeichen (z.B. Leerzeichen) im Dateinamen
> stecken können. Das kann im einfachsten Fall zu unerwünschten Ergebnissen
> erführen, im schlimmsten Fall aber auch zu gefährlichen Sicherheitslücken.
> Also Dateinamen _immer_ in Anführungszeichen: "${dateien[$i]}".
> > Wenn man sich daran hält auch wenn es eigentlich nicht notwendig ist,
> da man die Dateinamen selbst wählt, vergisst man es aber auch in anderen
> Fällen nicht so einfach.
> >
> > * überflüssige Programmaufrufe möglichst vermeiden:
> > *** cat "$DATEI" | sed -n ...
> > besser:
> > *** sed -n ... "$DATEI"
> >
> > * Die Ausgabe durch 'sed 's/.../.../p' bewirken, dass das Ergebnis an
> die Shell übergeben wird. Die Interpretiert das ";" nach dem "ts=" als
> Trenner zwischen Befehlen. Du willst aber folgendes der Shell übergeben:
> > vzclient -u 5d485110-9908-11e6-8e35-ade5ad34c96a add data value=XXXXXX
> ts=$(date -d "2013-05-28 09:20:00" +" %s000")
> >
> > Das $(befehl) bedeutet, dass die Shell den Befehl ausführen soll und die
> Ausgabe als String einfügen soll. Daraus entsteht also:
> > vzclient -u 5d485110-9908-11e6-8e35-ade5ad34c96a add data value=XXXXXX
> ts=1369725600000
> >
> > Und das wird dann interpretiert.
> >
> >
> > * die verschiedenen Ausdrücke "[0-9]*.[0-9]*;" beim sed sind etwas zu
> umständlich. Kürzer geht es so: alle Zeichen nur kein ";":
> > [^;]*;
> >
> > * Die Klammern um den letzten Ausdruck "(.*)" sind nicht notwendig, weil
> Du den Inhalt nicht auswerten möchtest.
> >
> >
> > * Der Umweg über das Shell-Array ist nicht notwendig, wenn die Dateien
> alle in einem Verzeichnis liegen. Auch möglich ist hier:
> > for DATEI in *
> > do
> > sed -n ... "$DATEI"
> > done
> >
> >
> > Ich bin mir nicht ganz sicher, was Du als Ergebnis erwartest, aber ich
> vermute in der ersten sed-Zeile soll der vierte Wert nach einem ";" als
> "value" genommen werden.
> >
> > Man kann gut mit "cut" bestimmte Felder einer Datei extrahieren:
> > cut -d';' -f 2,4
> > oder kürzer, wenn man das ";" escaped:
> > cut -d\; -f 2,4
> > Das ";" wird sonst von der Shell interpretiert und nicht vom "cut"
> >
> > Dann möchtest Du aber nur die Zeilen auswerten, die mit "600;" beginnen.
> Das kann man mit "sed" oder mit "grep" machen:
> > sed anweisen, dass es Zeilen, die mit "600;" anfangen nicht wegschmeißen
> soll:
> > sed -e '/^600\;/!d' -e 's/....' "$DATEI"
> >
> > oder:
> > grep '^600;' | ...
> >
> > Oder man nimmt die Datumsangabe als Kriterium.
> >
> > Ein '\' am Ende einer Zeile zeigt der Shell, dass der Befehl auf der
> nächsten Zeile weiter geht.
> > In der Shellvariable "IFS" steht, welche Zeichen als Trennzeichen
> interpretiert werden sollen.
> > Normalerweise stehen das Leerzeichen, Tabulator und "Newline" drin. Aber
> man kann das auch selbst beeinflussen:
> > IFS=';'
> > trennt nun auch "2013-05-28 09:20:00;264802N203;1159" in 3 Teile:
> > 2013-05-28 09:20:00
> > 264802N203
> > 1159
> >
> >
> > Also ich stell mir das so vor:
> >
> > #!/bin/bash
> > #
> > # importiere Werte aus Logdateien
> > #
> >
> > IFS=';'
> >
> > for DATEI in id*
> > do
> > grep ';201.-..-.. ' $DATEI \
> > | cut -d\; -f2,4,8,9,10 \
> > | while read DATUM P_AC WERT5 WERT6 WERT7
> > do
> > DATUM=$(date -d "$DATUM" +%s000)
> > vzclient -u 5d485110-9908-11e6-8e35-ade5ad34c96a add data
> value=$P_AC ts=$DATUM
> > vzclient -u 681155e0-9906-11e6-b5d9-51edf01eb751 add data
> value=$WERT5 ts=$DATUM
> > vzclient -u 6fc360c0-9906-11e6-bc21-7becbbfe157b add data
> value=$WERT6 ts=$DATUM
> > vzclient -u 7664b9b0-9906-11e6-a73b-09873e88f0c0 add data
> value=$WERT7 ts=$DATUM
> > done
> > done
> >
> > Den Rest der Stellen war ich zu faul auszuzählen.
> > Jede Datei wird hier nur einmal mit grep, cut bearbeitet und jede Zeile
> nur einmal und dem read gelesen und auch nur ein "date" pro Zeile
> ausgeführt.
> > In Deiner Version wurde jede Datei für jeden Wert mehrfach geöffnet,
> bearbeitet und jedes mal das Datum neu berechnet.
> >
> > Ich hoffe, das hilft Dir weiter.
> >
> >
> > Berthold Bredenkamp hat im Herbst 2011 ein Skript gebastelt:
> > http://volkszaehler.org/pipermail/volkszaehler-dev/
> attachments/20111127/69cb6074/attachment.obj
> > welches ich für meine Importe angepasst habe.
> > Dort wird so eine Zeile wie die 6. Zeile in deiner Datei vom Skript
> auswertet.
> > Ich gebe dann nur noch an, welche VZ-ID für welche Werte benutzt werden
> sollen, also
> > P_AC für 5d485110-9908-11e6-8e35-ade5ad34c96a
> >
> > Diese Verknüpfung lege ich in Variablen ab:
> > UUID["P_AC"]="5d485110-9908-11e6-8e35-ade5ad34c96a"
> >
> > und das Skript findet dann selbständig heraus, an welcher Stelle der
> entsprechende Wert zu suchen ist.
> >
> >
> > Aber solange sich die Position der Werte in den Dateien nicht ändert,
> funktioniert das obere Skript natürlich schneller und ist auch viel besser
> lesbar.
> >
> >
> > Viel Erfolg und guten Rutsch.
> > Lars
> >
> >
> >
> >
> >
> >
> >
> > PS: Bash ist ein kleines Hobby von mir. :-)
> > -------------- next part --------------
> > A non-text attachment was scrubbed...
> > Name: import.sh
> > Type: text/x-sh
> > Size: 555 bytes
> > Desc: not available
> > URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/
> attachments/20161229/5ce22766/attachment-0001.sh>
> >
> > ------------------------------
> >
> > Message: 3
> > Date: Thu, 29 Dec 2016 23:20:17 +0100
> > From: Lars Täuber <lars.taeuber at web.de>
> > To: volkszaehler-users at demo.volkszaehler.org
> > Subject: Re: [vz-users] Probleme mit Zeilenumbruch in einem
> > Import-Script
> > Message-ID: <20161229232017.1b991d2dc07050a187e4efc9 at web.de>
> > Content-Type: text/plain; charset=US-ASCII
> >
> > Nachtrag:
> >
> > https://github.com/gitaeuber/data_logger
> >
> > Gute Nacht
> > Lars
> >
> >
> > ------------------------------
> >
> > Message: 4
> > Date: Fri, 30 Dec 2016 06:39:43 +0100
> > From: "dl4huf at t-online.de" <dl4huf at t-online.de>
> > To: "volkszaehler.org - users"
> > <volkszaehler-users at demo.volkszaehler.org>
> > Subject: Re: [vz-users] Volkszähler Betriebszustands
> > (Betriebsstunden) Erfassung.
> > Message-ID: <4F55C954-B4CC-4388-8648-CA50A97C34F3 at t-online.de>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hallo
> >
> > Geht das überhaupt von der Schaltung? Bei anderen S0-Eingängen hat Udo
> doch eine Impulsformung eingebaut.
> > Damit kam man keinen Status (Pegel) sondern nur Impulse (Änderungen
> 0->1) erfassen. Selbst der 1>0 - Wechsel geht damit nicht.
> >
> > Man könnte ev. auf der Erweiterung diese Impulsformung überbrücken. Aber
> ob das reicht weiß ich nicht. Man bräuchte ja noch sowas wie "send_one"
> wenn der 1-Zustand längere Zeit anliegt. Das Frontend kann nur bis zum
> letzten Eintrag in der DB zeichnen.
> >
> >
> > Viele Grüßen und einen Guten Rutsch
> > Ronald
> >
> >
> >
> > Am 29. Dezember 2016 10:49:56 MEZ, schrieb Michael Knapp <
> michael at evo3.net>:
> >> Hallo zusammen,
> >>
> >> Ich versuche gerade über den S0/1 (Udo's Raspberry Erweiterung) den
> >> Betriebszustand eines Gasbrenners einzulesen und dann zu Visualisieren.
> >>
> >> Ziel wäre es das bei Brenner aus 0 angezeigt wird und bei Brenner an
> >> den wert 1 um sehen zu können wann der Brenner läuft und wann er aus
> >> ist.
> >>
> >> Nach ein paar versuchen zusammen mit Udo habe ich es leider trotzdem
> >> nicht hinbekommen.
> >>
> >> Beim ein und ausschalten des Brenners wird jeweils nur ein kurzer
> >> Impuls angezeigt. Der Wert 1 (Brenner An) sollte aber immer bei 1
> >> bleiben.
> >>
> >> Die Config zu S0/1 sieht so aus:
> >>
> >> {
> >> "enabled": true,
> >> "allowskip": false,
> >> "interval": 60,
> >> "aggtime": -1,
> >> "aggfixedinterval": false,
> >> "channels": [
> >> {
> >> "uuid": "16340d60-84d3-11e6-b24c-75867e2891aa",
> >> "identifier": "Impulse",
> >> "api": "volkszaehler",
> >> "middleware": "http://127.0.0.1/middleware.php",
> >> "aggmode": "none",
> >> "duplicates": 0
> >> }
> >> ],
> >> "protocol": "s0",
> >> "gpio": 18,
> >> "configureGPIO": true,
> >> "send_zero": true,
> >> "debounce_delay": 200
> >> },
> >>
> >> Hat noch jemand eine Idee wie ich das hinbekommen könnte?
> >>
> >> VG Michael
> >
> > --
> > Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail
> gesendet.
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/
> attachments/20161230/9b6579a8/attachment.html>
> >
> > ------------------------------
> >
> > Subject: Digest Footer
> >
> > _______________________________________________
> > volkszaehler-users mailing list
> > volkszaehler-users at demo.volkszaehler.org
> > https://demo.volkszaehler.org/mailman/listinfo/volkszaehler-users
> >
> >
> > ------------------------------
> >
> > End of volkszaehler-users Digest, Vol 65, Issue 108
> > ***************************************************
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20161230/8f5cea05/attachment-0001.html>
More information about the volkszaehler-users
mailing list