[Gelöst] HM-SEC-TIS Logs für Plot

Begonnen von Kaufe, 29 Juni 2016, 22:43:52

Vorheriges Thema - Nächstes Thema

Kaufe

Hallo Community,

spiele mich schon seit einigen Tagen an dem HM-SEC-TIS das ich diesen schön ans Logging kriege.
Dadurch das der HM-SEC-TIS immer nur ins Log schreibt sobald er gedreht wird, ist es gar nicht so einfach ein schöne Grafik davon zu erstellen.

WÜrde natürlich gerne sehen, sobald die Garage auf ist.... aber zur Zeit sehe ich dann immer nur einen "kurzen strich", nach 1 minute ist dann wieder nichts zu sehen....

Hatte mir dadurch vorgestellt das LOG so künstlich zu füllen....

define n_garage_chk_open notify GARAGE_Garagentor_Neigungssensor:open { \\
    if ( Value("GARAGE_Garagentor_Neigungssensor") ne "closed") {\
        fhem ("set GARAGE_Garagentor 1")\
        sleep 60\
        fhem ("trigger n_garage_chk_open") \
    }\
}


Gibt es vielleicht eine "einfachere" anwendung? Wie gesagt, das Ziel ist eigentlich einfach, hätte gerne eine Grafik an der ich auch sehe wie lange das Garagentor aufstand ...

Grüße und besten Dank vorab
Kaufe
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)

dev0

Das verwendete sleep (perl) würde fhem blokieren, keine gute Idee. Du könntest fhem's sleep oder direkt einen Timer verwenden. Besser noch, Du schaust Dir das Modul logProxy an.

automatisierer

das geht ohne extra Funktion - nur mit dem Plot-Modul oder auch mit LogProxy. Du musst nur die richtigen Einstellungen finden...

dieses Problem hatten schon mehrere... mit SuFu 'plot open closed' da bin ich nach 5 Sekunden auf das hier gestoßen und ich denke, dass es dich zum Ziel führt.

Zitat von: krikan am 05 März 2015, 06:24:55
Für den einen Statusplot schau mal http://www.fhemwiki.de/wiki/EnOcean-STM-250-Fenster-T%C3%BCrkontakt#T.C3.BCrstatus_in_einem_Plot_darstellen. Die Angaben dort solltest Du übertragen können.

falls nicht, kannst du dich ja nochmal melden...

Kaufe

Hallo zusammen,

danke für die Antworten.
@dev0: danke, dachte FHEM Skaliert / hat Forks? Werde den "hack" aber gleich mal löschen :D
@automatisierer: den Link hatte ich auch schon befolgt, doch leider sieht meine Grafik dann so aus....

Beispiel:
LOGFILE (Garae wurde am 29.06 um 16:24:14 geöffnet und zum 29.06 um 19:52 geschlossen:
2016-06-29_07:04:28 GARAGE_Garagentor_Neigungssensor battery: ok
2016-06-29_07:04:28 GARAGE_Garagentor_Neigungssensor contact: open (to CUL1)
2016-06-29_07:04:28 GARAGE_Garagentor_Neigungssensor open
2016-06-29_07:04:28 GARAGE_Garagentor_Neigungssensor trigDst_F11F35: noConfig
2016-06-29_07:04:28 GARAGE_Garagentor_Neigungssensor trigger_cnt: 172
2016-06-29_07:06:15 GARAGE_Garagentor_Neigungssensor battery: ok
2016-06-29_07:06:15 GARAGE_Garagentor_Neigungssensor contact: closed (to CUL1)
2016-06-29_07:06:15 GARAGE_Garagentor_Neigungssensor closed
2016-06-29_07:06:15 GARAGE_Garagentor_Neigungssensor trigDst_F11F35: noConfig
2016-06-29_07:06:15 GARAGE_Garagentor_Neigungssensor trigger_cnt: 173
2016-06-29_10:57:39 GARAGE_Garagentor_Neigungssensor Activity: alive
2016-06-29_12:04:24 GARAGE_Garagentor_Neigungssensor Activity: alive
2016-06-29_12:05:37 GARAGE_Garagentor_Neigungssensor Activity: alive
2016-06-29_16:24:14 GARAGE_Garagentor_Neigungssensor battery: ok
2016-06-29_16:24:14 GARAGE_Garagentor_Neigungssensor contact: open (to CUL1)
2016-06-29_16:24:14 GARAGE_Garagentor_Neigungssensor open
2016-06-29_16:24:14 GARAGE_Garagentor_Neigungssensor trigDst_F11F35: noConfig
2016-06-29_16:24:14 GARAGE_Garagentor_Neigungssensor trigger_cnt: 174
2016-06-29_17:16:45 GARAGE_Garagentor_Neigungssensor Activity: alive
2016-06-29_19:52:49 GARAGE_Garagentor_Neigungssensor battery: ok
2016-06-29_19:52:49 GARAGE_Garagentor_Neigungssensor contact: closed (to CUL1)
2016-06-29_19:52:49 GARAGE_Garagentor_Neigungssensor closed
2016-06-29_19:52:49 GARAGE_Garagentor_Neigungssensor trigDst_F11F35: noConfig
2016-06-29_19:52:49 GARAGE_Garagentor_Neigungssensor trigger_cnt: 175


Die GPLOT
# Created by FHEM/98_SVG.pm, 2016-06-28 20:57:44
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Garagentor'
set ytics ("open" 1, "closed" 0)
set y2tics ("open" 1, "closed" 0)
set grid
set ylabel ""
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]

#FileLog_GARAGE_Garagentor_Neigungssensor 3:GARAGE_Garagentor_Neigungssensor.*:0:$fld[2]=~"open"?1:0

plot "<IN>" using 1:2 axes x1y1 notitle ls l2fill lw 1 with steps



und Attached seht ihr den "ausschlag", aber leider nicht, wie lange dieser geöffnet war... 
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)

dev0

Zitat von: Kaufe am 01 Juli 2016, 10:24:09
FHEM Skaliert / hat Forks?
Man kann forken, aber automatisch passiert das nicht.

frank

#5
entweder plottest du das reading contact (am besten), oder du erweiterst die funktion:
$fld[2]=~"open"?1:$fld[2]=~"closed"?0:undef
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Kaufe

Hi Frank,

danke für deine Ideen, doch auch hier komme ich nicht weiter. Beide Lösungsansätze zeigen den selbigen "ausschlag" aber nicht das man erkennen könnte wie lange das Tor offen stand.

Kann es sein das ich das Gerät falsch im FHEM definiert habe?
define GARAGE_Garagentor_Neigungssensor CUL_HM XXXXXX
attr GARAGE_Garagentor_Neigungssensor IODev CUL1
attr GARAGE_Garagentor_Neigungssensor actCycle 028:00
attr GARAGE_Garagentor_Neigungssensor actStatus alive
attr GARAGE_Garagentor_Neigungssensor autoReadReg 4_reqStatus
attr GARAGE_Garagentor_Neigungssensor expert 2_raw
attr GARAGE_Garagentor_Neigungssensor firmware 1.5
attr GARAGE_Garagentor_Neigungssensor icon building_carport
attr GARAGE_Garagentor_Neigungssensor model HM-SEC-TIS
attr GARAGE_Garagentor_Neigungssensor peerIDs 00000000,
attr GARAGE_Garagentor_Neigungssensor room AUSSEN
attr GARAGE_Garagentor_Neigungssensor serialNr YYYYYYYY
attr GARAGE_Garagentor_Neigungssensor subType threeStateSensor

define FileLog_GARAGE_Garagentor_Neigungssensor FileLog ./log/GARAGE_Garagentor_Neigungssensor-%Y-%m.log GARAGE_Garagentor_Neigungssensor
attr FileLog_GARAGE_Garagentor_Neigungssensor logtype text
attr FileLog_GARAGE_Garagentor_Neigungssensor room ZZ_System


Seriennummer + Definition habe ich mir erlaubt nicht zu veröfentlichen :D
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)

automatisierer

zeig mal den Inhalt des .gplot file.

Kaufe

hi automatisierer,

du meinst diese hier, richtig?`
# Created by FHEM/98_SVG.pm, 2016-07-04 14:54:16
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Garagentor'
set ytics ("open" 1, "closed" 0)
set y2tics ("open" 1, "closed" 0)
set grid
set ylabel ""
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set yscale log
set y2scale log

#FileLog_GARAGE_Garagentor_Neigungssensor 3:GARAGE_Garagentor_Neigungssensor.*::$fld[3]=~"open"?1:$fld[3]=~"closed"?0:undef

plot "<IN>" using 1:2 axes x1y2 notitle ls l0 lw 1 with steps
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)

automatisierer

# Created by FHEM/98_SVG.pm, 2016-07-04 14:54:16
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'Garagentor'
set ytics ("open" 1, "closed" 0)
set y2tics ("open" 1, "closed" 0)
set grid
set ylabel ""
set y2label "Status"
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set yscale log
set y2scale log

#FileLog_GARAGE_Garagentor_Neigungssensor 4:GARAGE_Garagentor_Neigungssensor.contact::$fld[3]=~"open"?1:$fld[3]=~"closed"?0:undef

plot "<IN>" using 1:2 axes x1y2 notitle ls l0fill lw 1 with steps


versuchs mal damit...

Kaufe

hi automatisierer,

besten dank, so funktionierts, klasse .... nur leider Zeichnet er nicht "Tages übergreifend".
Ist doof zu erklären, ich lade dir mal einen Screenshot hoch.

Wird man aber nichts machen können, oder?
Liegt halt daran das er keine Logs in der füh bis ca 7:30 Uhr hat, bzw abends ab 21:20?
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)

frank

du kannst zb jeden abend das tor um 23:59 öffnen und 00:01 wieder schliessen.  :D

oder du verwendest das modul logproxy mit den optionen predict und extend.  ;)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Kaufe

#12
Hi Frank,

besten Dank für deine Inspiration  ;)

Habe es mal etwas anders gelöst, aber die Idee kommt von dir  :P
Im Prinzip einfach, ein AT das jede Stunde überprüft wie stand vom Tor ist und das dann triggert. Somit sehe ich den Status auf die letzte Std genau.... natürlich kann ich den Intervall hochsetzen, mir sollte es aber so genügen:

define n_garage_open_chk at +*01:00:00 { \
    if (Value("GARAGE_Garagentor_Neigungssensor") eq "closed") \
      {fhem("trigger GARAGE_Garagentor_Neigungssensor contact closed")} \
    else \
      {fhem("trigger GARAGE_Garagentor_Neigungssensor contact open")} \
}
attr n_garage_open_chk alignTime 00:50
attr n_garage_open_chk room AUSSEN,ZZ_System


oder noch etwas einfacher:
define n_garage_open_chk at +*01:00:00 { \
my $GARAGE = Value("GARAGE_Garagentor_Neigungssensor");;;;\
fhem("trigger GARAGE_Garagentor_Neigungssensor contact $GARAGE")\
}
attr n_garage_open_chk alignTime 00:10
attr n_garage_open_chk room AUSSEN,ZZ_System

werde mir aber den Proxy bei Zeiten noch ansehen.... sieht vielversprechend aus.

Jeden Falls vielen Dank für eure Ideen, macht echt rießen spaß mit FHEM solche Kunststücke zu vollbringen ....

PS: Habe das Thema wieder geöffnet, danke an automatisierer für den Hinweis.
FHEM 6.0 Raspberry PI-3B-Bullseye| HauptFHEM Server (Graphana,MariaDB)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 50 DS18B20)
FHEM 6.0 Raspberry PI-3B-Bullseye| FHEM2FHEM, 1-Wire (Ds9490R  + 5 DS18B20)
RaspberrMatic 3.61.7.20211218 (ca 65 HM Devices)