Guten tag
Mein Pi startet zeitgesteuert per USV. Wenn FHEM (Version 26565) gestartet ist muss automatisch die Stromzufuhr eingeschaltet werden.
Dies soll/muss mit
"set Steckdose on"
erledigt werden, was allerdings nicht funktioniert, ich erhalte auch keine Fehlermeldung.
Mit dem "WeekdayTimer" Befehl wird die Steckdose geschaltet.
Nebenbei, auf eineren älteren FHEM Instalation (Version 25709) Funktioniert der "set" Befehl einwandfrei.
Hat eventuell jemand eine Idee woran dies liegen könnte.
Dank und Gruss
Moin,
ich verstehe die Fragestellung nicht, aber zeig doch mal ein list Steckdose
Wenn der Befehl set Steckdose on einfach ohne Fehler quittiert wird existiert das FHEM Device aber der Befehl führt nicht zu einer Reaktion am physischen Device?! Oder wolltest Du mit den Versionen irgendetwas sagen?
Gruß Otto
Betreffend Bezug auf die alte Version, wo der Befehl funktioniert, ist der Unterschied nur das "...:set:" vor dem notify.
Ich muss gsetehen, ohne das "set" habe ich es noch nicht probiert.
Hier das Listing:
Internals:
DEF 1/0/0:dpt1:set:notify
FUUID 66751e06-f33f-c07d-b191-a07c6aa0731bd761
IODev KNX
NAME SteckdosePC
NR 156
STATE ???
STILLDONETIME 0
TYPE KNX
model dpt1
GADDETAILS:
g1:
CODE 01000
GROUP 1/0/0
MODEL dpt1
NO 1
OPTION set
RDNAMEGET getG1
RDNAMEPUT putG1
RDNAMESET setG1
SETLIST :on,off,toggle
GADTABLE:
01000 g1
READINGS:
2024-06-21 08:30:35 IODev KNX
Attributes:
webCmd :
Gruss
Walter
Hallo Walter,
das Ganze scheint mir eher ein KNX Thema zu sein, Du solltest Deine Frage nach FHEM - Hausautomations-Systeme/KNX/EIB verschieben (findet man mit help knx)
Verschieben geht unten links: der Knopf Thema verschieben.
Ich kann Dir leider mit KNX nicht weiterhelfen. Ich glaube allerdings, der Betreff ist irreführend gewählt.
Zitat von: waldo am 20 Juni 2024, 07:39:48Dies soll/muss mit
"set Steckdose on"
Allerdings kann der Befehl nicht funktionieren, wenn das Gerät eigentlich SteckdosePC heisst ;)
Gruß Otto
habe ich gemacht, vielen dank
Hi Walter!
Internals:
DEF 1/0/0:dpt1:set:notify
notify ist keine valide option ! - Da gibts im Log ganz sicher entsprechende msgs. Entweder nichts oder nosuffix !
Ich denke allerdings, dein Problem liegt noch woanders:
Wie/womit machts du "set Steckdose..." ? - aus einem global:INITIALIZED notify ?
Auch dazu gibts entsprechende Hinweise in der cmdref...
l.g. erwin
Guten Tag Erwin
Die Steckdose ist so angelegt:
define SteckdosePC KNX 1/0/0:dpt1:set:notify
attr SteckdosePC webCmd :
Den habe ich auch schon ausprobiert:
define NetzEin notify global:INITIALIZED set SteckdosePC on
macht aber ebenfalls keinen Wank.
Es taucht weder eine Error noch Warning noch sonst eine Meldung auf, bei allen ausprobierten Varianten.
Also wenn ich richtig verstanden habe dürfte es am :set: vor dem notify liegen, welches weg mnuss.
Werde es übernächste Woche mal ausprobieren.
Gruss
Walter
Hi Walter,
1) dein define ist falsch:
define SteckdosePC KNX 1/0/0:dp1:<gadName>:set
wäre richtig!
2) Ein set - definiert in einem global:INITIALIZED notify wird vermutlich so nicht funtionieren.
Begründung aus cmd-ref:
ZitatDo not use KNX_scan or any 'set or get <KNX-device> ...' in a global:INITIALIZED notify, the IO-device will not be ready for communication at that time!
A better solution is available:
Dazu eine Frage: funktioniert ein: "set SteckdosePC on" - von der FHEM cmd line ?
Wenn du das unmittelbar nach FHEM-start machen musst, dann in etwa so:
define start_notify notify global:INITIALIZED { fhem("sleep 5.0 quiet;;set SteckdosePC on")}
Allerdings - falls du KNXIO als IO Modul verwendest (dringend empfohlen), gibts elegantere Möglichkeiten....siehe KNXIO_Wiki (https://commandref.fhem.de/#KNX)
ich muss meinen vorigen post korrigieren: mit deinem define aus dem ersten post gibts KEINE msg im Log!
Dein "falsches define" funktioniert grundsätzlich, allerdings nicht wie erwartet... (z.B. das "set" wird ignoriert, weil "notify" an dieser position keine gültige option ist. "notify-set" wäre der entspechende reading name - ist das gewollt?)
l.g. erwin
Guten Tag Erwin
Danke für deine Hinweise.
Und ja, auf KNXIO habe ich umgestellt.
Wie ich das WIKI interpretiere dürfte es besser sein noch einige <gadName> zu verwenden.
Mit folgendem Define
define anwesendEin WeekdayTimer SteckdosePC 0123456|06:52|on (ReadingsVal("anwesend", "state", "on") eq "on")
attr anwesendEin commandTemplate set $NAME $EVENT
wird der Black-Start geschaltet.
Die SteckdosePC hat nur eine einzige toggle Funktion: den Black-Start und auschalten (Nacht).
Gruss
Walter
Guten Tag
Im Verbose 5 erhältman eine Menge Info, nicht immer alles so wichtig. Darum habe ich nur nach ERROR und WARNING gesucht.
Mit der Definition und dem Befehl:
define SteckdosePC KNX 1/0/0:dpt1:notify
attr SteckdosePC webCmd :
set SteckdosePC on
Folgendes erst neulich entdeckt:
2024.07.02 09:08:18 5: SteckdosePC [KNX_Set 824]: enter: on
2024.07.02 09:08:18 5: fhem.cfg line 994 returned >SteckdosePC gadName not found or invalid dpt used for group 1<
was ich mit der Meldung anfangen soll ist mir total unklar.
Auch habe ich deinen Vorschlag getestet, macht leider auch keinen Wank.
Für den TUL-Stick die Einstellung im knxd.conf:
KNXD_OPTS="-e 15.15.260 -E 15.15.263:10 -u /tmp/eib tpuarts:/dev/knx"
START_KNXD=YES
Und hier die Einstellung im fhem.cfg:
define KNX KNXIO S /var/run/knx 15.15.260
Es sei nochmals erwähnt, FHEM funktioniert einwandfrei.
Hilft dies weiter?
Gruss
Walter
Hi Walter!
1) Du bist nicht am aktuellen Stand. - fhem update wäre fällig.
2) Hast du die fhem.cfg direkt editiert? - Es scheint, dass die internen Strukturen der "SteckdosePC" definition nicht ok sind...
Ich habe auf meinem Test-system exakt deine definition eingegeben - funktioniert einwandfrei!
Versuch bitte ein fhem update, und anschließend restart. - Schau dir den Log beim start an - und dann:
"set SteckdosePC on" - wieder ins Log schauen...
3) knxd def / KNXIO def:
Zitatdefine KNX KNXIO S /var/run/knx 15.15.260
bzw.
KNXD_OPTS="-e 15.15.260 -E 15.15.263:10 -u /tmp/eib tpuarts:/dev/knx"
ist beides FALSCH!
die phy adressen haben einen Bereich von 0-15.0-15.0-255 - wobei .255 nicht zu verwenden ist. Bei dir ist das ausserhalb des Bereichs .263:10 bzw. .260 !!! Siehe auch Beispiel KNXIO wiki bzw. knxd wiki. Zusätzlich fehlt noch ein
-b vor tpuarts:/dev/knx
Verwende z.b:
define KNXGW KNXIO S /var/run/knx 15.15.241
bzw.
KNXD_OPTS="-e 15.15.240 -E 15.15.241:8 -single -b tpuarts:/dev/knx"
Ein Blick ins Log von knxd lohnt sich auch! ;D
l.g. erwin
Guten Tag Erwin
In den bald 2 Jahren dies zum laufen zubringen muss mir der Bereich wohl mal entfallen sein.
Alles was du vorgeschlagen hast habe ich, glaube nun schon zum x-tenmal, gemacht.
Ich wage es zu behaupten, das Problem liegt im "set" befehl, sicher nicht in Devinition von dem was geschaltet werden soll.
Mehrfach im FHEM-Editor ausprobiert, Resultat = gadName not found or invalid dpt used for group 1
Dies - KNXD_OPTS="-e 15.15.240 -E 15.15.241:8 -single -b tpuarts:/dev/knx" - geht bei mir nicht, der knxd.service startet nicht.
So ist es nun bei mir in fhem-cfg und knxd.conf
define KNXGW KNXIO S /var/run/knx 15.15.241
resp.
KNXD_OPTS="-e 15.15.240 -E 15.15.241:8 -u /tmp/eib -b tpuarts:/dev/knx"
und es funktioniert einwandfrei, bis auf den set-Befehl.
Gruss
Walter
Hi Walter,
nachdem du keine meiner Fragen von letzten post beantwortest hast, wird es schwierig...
Zitat1) Du bist nicht am aktuellen Stand. - fhem update wäre fällig.
2) Hast du die fhem.cfg direkt editiert? - Es scheint, dass die internen Strukturen der "SteckdosePC" definition nicht ok sind...
3) Wenn der knxd mit meinen OPTS nicht started, stellt sich die Frage, welche knxd Version verwendest du?
Vorschlag:
lösche die definition SteckdosePC und mach sie neu, mit keinen optionen:
define SteckdosePC KNX 1/0/0:dpt1
via FHEM-cmd-line!
dann ein set-cmd von der FHEM-cmd line !
...und danach ein 'list SteckdosePC' posten.
4) Noch eine Frage: geht überhaupt was von/zum KNX-bus? (z.B. ein anderes device?)
l.g.erwin
Hallo Erwin
Erstmal vielen Dank für deine Geduld und Ausdauer.
Zu deinen Fragen.
1) FHEM Version 29012
2) Ich editiere mit Geany, habe aber in diesem speziellen Fall in FHEM und mit nano den Befehl "set" eingefügt
3) KNXD Version 0.14.46
4) Mit meiner Produktions fhem.cfg beitreibe ich rund 50 Devices. Alles funktioniert einwandfrei und wie beabsichtigt. Halt nur der Black-Start nicht.
Deine Vorschlag, habe ich so umgesetzt und der set Befehl schaltet auch. Allerdings nur in der fhem-cmd line. Sobald das "set" in die cfg eingearbeitet ist folgt besagte Meldung.
Und hier das Listing:
Internals:
CFGFN
DEF 1/0/0:dpt1
FUUID 668b00d0-f33f-3e5d-904f-ab2e5b24ff5b0c03
IODev KNXGW
NAME SteckdosePC
NR 67
STATE on
TYPE KNX
eventCount 1
model dpt1
GADDETAILS:
g1:
CODE 01000
MODEL dpt1
NO 1
OPTION
RDNAMEGET getG1
RDNAMESET setG1
SETLIST :on,off,toggle
GADTABLE:
01000 g1
READINGS:
2024-07-07 22:55:44 IODev KNXGW
2024-07-07 22:56:02 last-sender fhem
2024-07-07 22:56:02 setG1 on
2024-07-07 22:56:02 state on
Attributes:
Angehängt mein test-cfg und das resultierende log.
Gruß
Walter
Versuche mal:
fhem("set SteckdosePC on")
Hi Walter,
die fhem.cfg sollte man NIEMALS mit einem editor direct bearbeiten!!!! Das umgeht sämtliche checks und schafft nur Probleme!
--- QED---
In der fhem.cfg hat ein "set <device> xxx" absolut nichts verloren!!! das kann nicht funtionieren... Unbedingt aus der cfg entfernen!
Nachdem das device von der cmdline korrekt funktioniert,
nehme ich an, du willst während fhem-start dein device schalten, korrekt?
Vorschlag:
define start_notify notify <KNXIO-devicename>:INITIALIZED { fhem("sleep 5.0 quiet;;set SteckdosePC on")}
l.g. erwin
Guten Tag Erwin
Zum Abschluss die Rückmeldung wie es funktioniert.
Der Raspberry mit einem Strompi Aufsatz startet ab Akku. Sobald FHEM gestartet ist wird die Stromversorgung eingeschaltet.
define SteckdosePC KNX 1/0/0:dpt1:notify
define NetzwerkEin notify global:INITIALIZED {fhem("sleep 5.0 quiet;;set SteckdosePC on")}
herzlichen Dank für deine Unterstützung
Gruß
Walter