Hauptmenü

notify, doif debuggen?

Begonnen von Gunther, 17 Oktober 2017, 17:48:36

Vorheriges Thema - Nächstes Thema

Gunther

Hallo zusammen, gibt es eine Möglichkeit einen notify oder ein doif zu debuggen, also genau zu sehen, was passiert?
Wenn ja, wie?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

CoolTux

Was genau willst du denn sehen? Du kannst verbose 5 setzen beim notify dann sieht man was im log
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Thorsten Pferdekaemper

FUIP

Gunther

Zitat von: CoolTux am 17 Oktober 2017, 17:49:53
Was genau willst du denn sehen? Du kannst verbose 5 setzen beim notify dann sieht man was im log

Also, ich habe einen dummy: viessmann_oelverbrauch_codierung
Wenn ich diesen setze, z. B.:
set viessmann_oelverbrauch_codierung 2.1

soll mein notify den jeweiligen Wert mit 10 multiplizieren (Wert*10=WertB)
und dann
set Viessmann Verbrauch-Brenner WertB
ausführen

Folgendes steht im DEF meines notifys:
viessmann_oelverbrauch_codierung:$EVENT { fhem "set Viessmann Verbrauch-Brenner $EVENT*10" }

Leider tut sich nichts. jetzt würde ich gerne sehen, was $EVENT macht und welchen Wert das notify beim set nimmt.
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

CoolTux

Da muss man nichts debuggen da muss man nur wissen wie man ein Notify aufbaut und wie die RegEx für den Trigger aussehen muss.
Beides erfährt man in der Commandref zu Notify, ausserdem ist der Eventmonitor noch sehr sehr hilfreich.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

t0m

Hi Gunther,

bin mir nun nicht 100% sicher, was du brauchst. Aber du kannst ein Notify manuell triggern: https://wiki.fhem.de/wiki/Trigger

Das Event kannst du dann simpel loggen: https://forum.fhem.de/index.php?topic=53744.0

War das hilfreich? Wenn nein, dann erkläre bitte nochmal, was du genau brauchst.


Grüße
t0m

Otto123

Zitat von: Gunther am 17 Oktober 2017, 18:44:33
Folgendes steht im DEF meines notifys:
viessmann_oelverbrauch_codierung:$EVENT { fhem "set Viessmann Verbrauch-Brenner $EVENT*10" }

Leider tut sich nichts. jetzt würde ich gerne sehen, was $EVENT macht und welchen Wert das notify beim set nimmt.
Sorry aber das regEx ist doch totaler Unsinn!? Als Trigger $EVENT? Das ist doch wie Münchhausen sich selbst am Zopf aus dem Sumpf? Oder ist das gleich mit viessmann_oelverbrauch_codierung?
Wenn Du auf alle Events triggern willst dann:
viessmann_oelverbrauch_codierung { fhem "set Viessmann Verbrauch-Brenner $EVENT*10" }

Mach doch deinen Trigger(das ganze notify) mit dem Eventmonitor, da sieht man auch den Event an sich ganz gut  ;D
https://wiki.fhem.de/wiki/Event_monitor

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gunther

Danke schonmal für Eure Antworten und sorry für meinen Anfängercode...  ::)

Zitat von: Otto123 am 17 Oktober 2017, 21:48:05
Sorry aber das regEx ist doch totaler Unsinn!? Als Trigger $EVENT? Das ist doch wie Münchhausen sich selbst am Zopf aus dem Sumpf? Oder ist das gleich mit viessmann_oelverbrauch_codierung?
Musste sehr lachen... (und war ein wenig peinlich berührt...)  ;)
Also, ich möchte, wenn viessmann_oelverbrauch_codierung geändert wird, dass dieser Wert mit 10 multipliziert und dann im set verwurschtelt wird.

1.) Ich habe mir das Wiki zum Eventmonitor angeschaut, werde aber noch nicht schlau daraus, wie ich das ganze notify da ausführen, bzw. wie ich das Event sehen kann.
Könnt Ihr mir bitte nochmal unter die Arme greifen?

2.) Zum Testen befülle ich nun einen Dummy mit dem notify. Scheint dank Eurer Hilfe auch schon zu klappen. Leider rechnet das Ding nicht (versucht mit 2,0 und 2.0), sonder befüllt den Dummy mit "2.0*10":
viessmann_oelverbrauch_codierung { fhem "set vdummy ($EVENT*10)" }
Wie bekomme ich das Rechnen bewerkstelligt?


FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

amenomade

{ my $result = $EVENT * 10;; fhem "set vdummy $result" }
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Otto123

zu 1.
Du klickst im Eventmonitor auf den Filter .*, schreibst per copy&paste viessmann_oelverbrauch_codierung dort rein.
Dann siehst Du die Events von viessmann_oelverbrauch_codierung

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wzut

Zitat von: Gunther am 17 Oktober 2017, 23:48:35
Wie bekomme ich das Rechnen bewerkstelligt?
Nicht innerhalb des Strings rechnen sondern ausserhalb, d.h. entweder davor wie im Beispiel von amenomade oder danach : 
viessmann_oelverbrauch_codierung { fhem "set vdummy ".($EVENT*10) }
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

nils_

Zitat von: Wzut am 18 Oktober 2017, 07:27:54
Nicht innerhalb des Strings rechnen sondern ausserhalb, d.h. entweder davor wie im Beispiel von amenomade oder danach : 
viessmann_oelverbrauch_codierung { fhem "set vdummy ".($EVENT*10) }

muss das fhem eigentlich da stehen?

def ntfy_abc notify viessmann_oelverbrauch_codierung set vdummy ($EVENT*10)

viele Wege in FHEM es gibt!

Gunther

Danke Euch allen, dass Ihr Euch auch um Coding-Anfänger wie mich kümmert.
Jetzt kann ich in FHEM die Logiken aufbauen um später in Tablet UI eine schöne Oberfläche zur einfacheren Konfiguration meiner Viessmannheizung zu bauen.
Hat mit folgendem geklappt:
Zitat von: Wzut am 18 Oktober 2017, 07:27:54
Nicht innerhalb des Strings rechnen sondern ausserhalb, d.h. entweder davor wie im Beispiel von amenomade oder danach : 
viessmann_oelverbrauch_codierung { fhem "set vdummy ".($EVENT*10) }

Zitat von: nils_ am 18 Oktober 2017, 09:46:24
muss das fhem eigentlich da stehen?

def ntfy_abc notify viessmann_oelverbrauch_codierung set vdummy ($EVENT*10)
Habe es gerade getestet und funktioniert nicht.
vdummy ist dann (20*10), wenn viessmann_oelverbrauch_codierung mir 20 gesetzt wird.


Zusatzfrage:
Ich habe nun mit notify gearbeitet. Ist das der richtige Weg oder ist es performanter mit DOIFs für soetwas zu arbeiten?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden

amenomade

ZitatZusatzfrage:
Ich habe nun mit notify gearbeitet. Ist das der richtige Weg oder ist es performanter mit DOIFs für soetwas zu arbeiten?
Du kannst lange Diskussionen im Forum diesbzg. finden...
Für einfache Bedingungen wie hier, ist es eigentlich komplett egal. Geschmackssache.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Gunther

Danke!

Ich habe noch eine weitere Frage:
Statt des festen Multiplikators in der Formel habe ich nun spaßeshalber versucht mit einer Variablen (Dummy "dummy_multiplikator") zu arbeiten. Leider klappt das nicht. Vermutlich bekommt Ihr wieder Lachkrämpfe. Leider habe ich noch nicht raus, wo ich sinnvoll nach Syntax suchen kann.
ausloesender_dummy { fhem "set dummy_der_veraendert_werden_soll ".($EVENT* dummy_multiplikator )
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden