Hallo,
bin gerade beim Umzug auf meine neue Maschine, nun komme ich bei der Anzeige der Leistung bei dem HomeMatic Funk-Schaltaktor 1-fach mit Leistungsmessung nicht weiter. Schlimmer noch, bei einem geht es und nun bekomme ich den anderen nicht hin. Es kann aus meiner Sicht nur am Reading liegen, aber wo?
Vorgehensweise war so:
define Trocknersteckdose.Messung HMCCUDEV 0001D709900C50
define Trocknersteckdose.Messung.Watt dummy
define Trocknersteckdose.MessungWatt notify TrocknersteckdoseMessung {my $var= ReadingsVal("Trocknersteckdose","6.POWER",0);; fhem("set Trocknersteckdosemessung.Watt $var")}
attr Trocknersteckdose.Messung.Watt stateFormat Trocknersteckdosemessung
Evtl. sieht ja einer der Gurus das Problem auf den ersten Blick? Die Dokus und die Tante haben mich nicht weitergebracht, meist wird das dann nicht als Zahlenwert gebraucht, ich möchte aber die Leistungsangabe im Floorplan haben.
Die Steckdose ist über die CCU2 mit FHEM verbunden.
Vorab Danke vom Peter
ein list der beteiligten devices (dummy, notify,....) wäre hilfreich.
bitte in code-tags posten. (das # über den smileys!)
wenn ich raten müsste, stimmt was mit deinen "namen" nicht.
einmal punkte im namen, im regex vom notify nicht....
-> list von den devices ;D
Hallo,
war das so gemeint?
defmod Trocknersteckdose.Messung HMCCUDEV 0001D709900C50
attr Trocknersteckdose.Messung IODev d_ccu
setstate Trocknersteckdose.Messung 1
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 0.DUTY_CYCLE 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 0.RSSI_DEVICE -68
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 0.RSSI_PEER -66
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 0.UNREACH 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 2.PROCESS 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 2.SECTION 2
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 2.STATE 1
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 3.PROCESS 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 3.SECTION 2
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 3.STATE 1
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 4.PROCESS 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 4.SECTION 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 4.STATE 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 5.PROCESS 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 5.SECTION 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 5.STATE 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.CURRENT 0.0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.ENERGY_COUNTER 48637.9
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.ENERGY_COUNTER_OVERFLOW 0
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.FREQUENCY 50.01
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.POWER 0.02
setstate Trocknersteckdose.Messung 2018-06-14 17:26:41 6.VOLTAGE 230.0
dummy
defmod Trocknersteckdose.Messung.Watt dummy
attr Trocknersteckdose.Messung.Watt stateFormat Trocknersteckdose.WattMessung
setstate Trocknersteckdose.Messung.Watt Trocknersteckdose.WattMessung
notify
defmod Trocknersteckdose.Watt.Messung notify Trocknersteckdose.WattMessung {my $var= ReadingsVal("Trocknersteckdose.Messung","6.POWER",0);; fhem("set Trocknersteckdose.WattMessung $var")}
setstate Trocknersteckdose.Watt.Messung active
setstate Trocknersteckdose.Watt.Messung 2018-06-14 17:36:22 state active
Hoffe, das passt nun so.
Grüße Peter
Hallo Peter,
wenn man nicht mehr weiter weiß - ruft man Hilfe!
Schon mal help list
in der FHEM Kommandozeile versucht?
list Trocknersteckdose.Messung
usw. war gemeint.
BTW den Befehl (alles zwischen {} in deinem notify kann man auch so schreiben:
set Trocknersteckdose.WattMessung [Trocknersteckdose.Messung:6.POWER]
Das nennt sich set magic in der Doku. ;)
Gruß Otto
Hallo,
danke für die Aufklärung.
Internals:
CFGFN
DEF 0001D709900C50
IODev d_ccu
NAME Trocknersteckdose.Messung
NR 9387
STATE 1
TYPE HMCCUDEV
ccuaddr 0001D709900C50
ccudevstate active
ccuif HmIP-RF
ccuname trockner
ccutype HMIP-PSM
channels 8
statevals devstate
READINGS:
2018-06-14 20:59:00 0.DUTY_CYCLE 0
2018-06-14 20:59:00 0.RSSI_DEVICE -69
2018-06-14 20:59:00 0.RSSI_PEER -84
2018-06-14 20:59:00 0.UNREACH 0
2018-06-14 20:59:00 2.PROCESS 0
2018-06-14 20:59:00 2.SECTION 2
2018-06-14 20:59:00 2.STATE 1
2018-06-14 20:59:00 3.PROCESS 0
2018-06-14 20:59:00 3.SECTION 2
2018-06-14 20:59:00 3.STATE 1
2018-06-14 20:59:00 4.PROCESS 0
2018-06-14 20:59:00 4.SECTION 0
2018-06-14 20:59:00 4.STATE 0
2018-06-14 20:59:00 5.PROCESS 0
2018-06-14 20:59:00 5.SECTION 0
2018-06-14 20:59:00 5.STATE 0
2018-06-14 20:59:00 6.CURRENT 0.0
2018-06-14 20:59:00 6.ENERGY_COUNTER 48637.9
2018-06-14 20:59:00 6.ENERGY_COUNTER_OVERFLOW 0
2018-06-14 20:59:00 6.FREQUENCY 49.98
2018-06-14 20:59:00 6.POWER 0.01
2018-06-14 20:59:00 6.VOLTAGE 228.4
2018-06-14 20:59:00 control 1
2018-06-14 20:59:00 hmstate 1
2018-06-14 20:59:00 state 1
hmccu:
dp:
0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.RSSI_DEVICE:
OSVAL -69
OVAL -69
SVAL -69
VAL -69
0.RSSI_PEER:
OSVAL -81
OVAL -81
SVAL -84
VAL -84
0.UNREACH:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
2.PROCESS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
2.SECTION:
OSVAL 2
OVAL 2
SVAL 2
VAL 2
2.STATE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
3.PROCESS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
3.SECTION:
OSVAL 2
OVAL 2
SVAL 2
VAL 2
3.STATE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
4.PROCESS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
4.SECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
4.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
5.PROCESS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
5.SECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
5.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
6.CURRENT:
OSVAL 0.0
OVAL 0.0
SVAL 0.0
VAL 0.0
6.ENERGY_COUNTER:
OSVAL 48637.9
OVAL 48637.9
SVAL 48637.9
VAL 48637.9
6.ENERGY_COUNTER_OVERFLOW:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
6.FREQUENCY:
OSVAL 49.99
OVAL 49.99
SVAL 49.98
VAL 49.98
6.POWER:
OSVAL 0.01
OVAL 0.01
SVAL 0.01
VAL 0.01
6.VOLTAGE:
OSVAL 228.2
OVAL 228.2
SVAL 228.4
VAL 228.4
Attributes:
IODev d_ccu
Bin mir sicher, da ist nur ein kleiner Wurm in der Syntax beim Erstellen, deswegen das als erstes reingestellt.
Grüße Peter
Moin,
obwohl nicht vollendet - würde ich denken Dein notify ist falsch. So eventuell?
defmod Trocknersteckdose.Watt.Messung notify Trocknersteckdose.Messung set Trocknersteckdose.Messung.Watt [Trocknersteckdose.Messung:6.POWER]
Aus meiner Sicht, bist Du mit Deiner Namensgebung und deren Verwendung völlig durch den Wind. ;D ::)
Deswegen ist der Code auch wirklich bloß aus dem was Du gepostet hast "geraten".
Gruß Otto
Zitat von: Otto123 am 15 Juni 2018, 09:21:29
Aus meiner Sicht, bist Du mit Deiner Namensgebung und deren Verwendung völlig durch den Wind. ;D ::)
Deswegen ist der Code auch wirklich bloß aus dem was Du gepostet hast "geraten".
die namensgebung verwirrt mich auch ehrlich gesagt ::)
der fehlerhafte regex war ja anfänglich auch meine vermutung.
du hast uns jetzt schon zwei unterschiedliche notifys gepostet...
welches ist korrekt??
defmod Trocknersteckdose.Watt.Messung notify Trocknersteckdose.WattMessung {my $var= ReadingsVal("Trocknersteckdose.Messung","6.POWER",0);; fhem("set Trocknersteckdose.WattMessung $var")}
define Trocknersteckdose.MessungWatt notify TrocknersteckdoseMessung {my $var= ReadingsVal("Trocknersteckdose","6.POWER",0);; fhem("set Trocknersteckdosemessung.Watt $var")}
ich blicke ehrlich gesagt nicht durch, aber sehr wahrscheinlich gibt es den event/die events nicht auf die du reagieren möchtest.
der punkt in einem regex kann da schon sehr entscheidend sein.
Zitat von: nils_ am 15 Juni 2018, 10:13:31
du hast uns jetzt schon zwei unterschiedliche notifys gepostet...
welches ist korrekt??
Meine Meinung: Keines von Beiden :-X
Hallo,
stimmt leider, geht immer noch nicht. Das meiste was ich finden konnte sind Verknüpfungen und sonstige Funktionen. Die Ausgabe eines einfachen Wertes scheint keiner zu wollen, das ist aber aus meiner Sicht der Einstieg. Für so etwas konnte ich im Wiki nichts finden.
Einfache Problemstellung : Ausgabe des Wertes des Leistungsmesser über eine CCU2 per FHEM. Wenn es da ein HowTo für Anfänger gibt, währe ich für einen Link dankbar.
Grüße Peter
Hallo Peter,
einfache Frage einfache Antwort -> https://wiki.fhem.de/wiki/Hauptseite
Dort wie fange ich an ...
Aber warum tust Du jetzt dumm und behandelst unsere Fragen wie Luft? Mit: geht immer noch nicht. kann keiner was anfangen und keiner helfen :-X
Gruß Otto
Zitat von: Otto123 am 15 Juni 2018, 13:01:47
Meine Meinung: Keines von Beiden :-X
Obgleich ich mich mit HMCCU (noch) nicht auskenne: Das auslösende Device heißt weder TrocknersteckdoseMessung noch Trocknersteckdose.WattMessung, sondern Trocknersteckdose.Messung.
Aber wenn es tatsächlich so schwierig wird, über eine HMCCU an die Readings/datapoints heranzukommen, lasse ich das mit der CCU doch bleiben :D
P.S.: es ist sicher anders, aber nicht schwierigerP.P.S.: den Unterschied zwischen define und defmod sollte man gaaaanz schnell lernen ...
Zitat von: Pfriemler am 15 Juni 2018, 17:32:14
Obgleich ich mich mit HMCCU (noch) nicht auskenne: Das auslösende Device heißt weder TrocknersteckdoseMessung noch Trocknersteckdose.WattMessung, sondern Trocknersteckdose.Messung.
Ich bin exakt dieser Meinung und deswegen auch mein Beispiel :)
Hallo,
die Antwort auf das hier : https://wiki.fhem.de/wiki/Hauptseite verkneife ich mir!
Sorry, aber ich habe klar beschrieben wie ich hierhin gekommen bin und die Antworten von Otto waren nicht wirklich zielführend. Ist hald ein Unterschied zwischen wissen und helfen können. Ich verstehe hier einige, die resigniert aufgegeben haben. Ich werde das hier noch etwas versuchen, sollten andere in den ersten Zeilen den Fehler entdecken würde mich das freuen.
Sollte mir hier jemand noch die Zeilen anbieten, wie bei einer Messsteckdose an die Werte komme dann immer mal her damit. Sprüche wie ...Aber warum tust Du jetzt dumm und behandelst unsere Fragen wie Luft? ... sind aber semioptimal.
Grüße Peter
Hallo Peter,
ich wünsche Dir auch einen schönen Abend.
Mir fiel vorhin noch ein, liefert das Device mit der HMCCU überhaupt Events? Ich habe so was nicht und weiß es einfach nicht.
Sehen könntest Du dies im Eventmonitor -> https://wiki.fhem.de/wiki/Event_monitor
Dort könntest Du auch das notify mit richtigem Syntax und Namen grundlegend erzeugen lassen.
Es steht Dir natürlich frei Hilfe anzunehmen.
Gruß Otto
Hallo,
nach 3 Tagen Frust liegen hier die Nerven ziemlich blank. Der Hinweis war gut, wenn der Trockner nicht aktiv ist dann kommen keine Werte, anscheinend werden die bei neuen Teilen nicht aktiv übernommen.
Das mit den Werten im Log waren die 100 Punkte! Es erscheinen die Werte zwar im Device Overview, sind aber nicht im Dummy zu sehen (Gemeine Sache). Nach dem Start von dem Teil sind die Leistungswerte dann zu sehen.
Die beiden Zeilen reichen also:
define Trockner.Watt dummy
define TrocknerWatt notify Trockner.Messung {my $power =ReadingsVal("Trockner.Messung","6.POWER",0);; fhem ("set Trockner.Watt $power")}
Danke nochmals für den Hinweis auf das Log, das hat mir letzlich geholfen.
Grüße vom Peter
Dieses stateFormat verstehe ich nicht:
Zitatattr Trockner.Watt stateFormat Trockner.Watt
Damit setzt Du meiner Meinung nach den state des dummy immer wieder fest auf den TEXT Trockner.Watt
Zitat Doku:
ZitatstateFormat
Ändert den Gerätestatus, dies ist z.Bsp. in der Ausgabe des list Kommandos zu sehen, oder in der Raumübersicht von FHEMWEB. Falls nicht gesetzt, dann wird das state Reading übernommen. Sonst werden alle Wörter im Wert des Attributes durch das entsprechende Reading des Gerätes ersetzt (soweit vorhanden). Falls der Wert in {} eingeschlossen ist, dann wird es als Perl Ausdruck ausgewertet. Die Auswertung passiert bei jeder Änderung eines Readings.
Die hier beschriebene "set magic" wird auch angewendet.
Macht das Sinn, wolltest Du das so?
Gruß Otto
Hallo,
nein das macht keinen Sinn. Nach dem Löschen ist die Zahl zu sehen.
Nochmal Danke, der Hinweis auf das Log hat letztlich die Lösung gebracht.
Grüße Peter