Mit einem Schalter an der CCu2 ein Fhem device einschalten

Begonnen von bumbumb, 27 November 2017, 17:59:41

Vorheriges Thema - Nächstes Thema

bumbumb

Hallo
Ich möchte über die ccu2 mit einem normalen schalter die funksteckdose die auf 433 mhz am raspberry pi hängt einschalten. Mehr möchte ich nicht. Was fehlt mir um das zu realieseren.

bumbumb

so das sind  eine Readings:
FS_Wohnwand_Wohnzimmer_EG.0.AES_KEY
0
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.CONFIG_PENDING
false
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.DUTYCYCLE
false
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.LOWBAT
false
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.RSSI_DEVICE
192
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.RSSI_PEER
58
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.STICKY_UNREACH
false
2017-11-29 06:48:58
FS_Wohnwand_Wohnzimmer_EG.0.UNREACH
false
2017-11-29 06:48:58
HM-LC-Sw1-Pl-2_LTK0075440.1.INHIBIT
false
2017-11-29 06:48:58
HM-LC-Sw1-Pl-2_LTK0075440.1.STATE
0
2017-11-29 06:50:02
HM-LC-Sw1-Pl-2_LTK0075440.1.WORKING
0
2017-11-29 06:50:02
state


Bei den jeweiligen State Werten soll dieses notify abgesetzt werden.
define off_mySwitch1 notify mySwitch1:off {system(,,/usr/bin/send 11111 1 0 &")}
define on_mySwitch1 notify mySwitch1:on { system(,,/usr/bin/send 11111 1 1 &")}

zap

In den Readings tauch HM-LC-Sw1-Pl-2 auf. Das ist kein ,,normaler" Schalter sondern eine Steckdose. Du möchtest die send Befehle also ausführen, wenn die Steckdose ein oder aus geschaltet wird. Ist das so?
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bumbumb

Hallo,
ja aktuell ist es die Steckdose da ich noch keinen richtigen dafür habe. Aber sobald ich diese auf "on" schalte soll zusätzlich dieser send befehle gesendet werden. Was muss ich machen? Kannst du mir helfen. Vielen Dank

zap

Nach dem was du bisher an Infos "preisgegeben" hast, könnte das helfen

attr mySwitch1 substitute STATE!(0|false):off,(1|true):on
attr mySwitch1 ccureadingfilter STATE
attr mySwitch1 event-on-change-reading .*


Wenn Du dann mal einen anderen Schalter hast, sieht kann das wieder anders aussehen.

Wie schon gesagt: Einfach mal in das Thema einlesen (3 Wiki Artikel zu HMCCU sowie FHEM COmmandRef zu HMCCUDEV bzw. HMCCUCHN).

2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bumbumb

vielen dank, aber wo kommt den der send Befehl rein?
Ich muss diesen doch absenden.
Kannst du mir bitte noch da helfen.
Danke

zap

Die Notifies hast du doch oben schon selbst angegeben. Das Problem war nur, dass keine on/off Events kamen sondern 1/0. Das substitute sorgt nun genau dafür.

Ich habe weder Zeit noch Lust dir auch noch das Notify zu erklären. Das ist alles in Wiki, Commandref und dem FHEM Einsteiger PDF ausführlich beschrieben. Also Zeit nehmen und lesen.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bumbumb

Viele Dank, jetzt hat es funktioniert. Mein RPCServer schaltet sich nach gewisser zeit aus. Hast noch eine Idee was es sein kann.
Habe im wiki nichts dazu gefunden.
thank you

bumbumb

aber warum geht es mit einem virtuellen Schalter nicht.
define mySwitch1 HMCCUDEV CUX2801002 5
attr mySwitch1 IODev CCU2
attr mySwitch1 statechannel 5
attr mySwitch1 statedatapoint STATE
attr mySwitch1 statevals on:true,off:false
attr mySwitch1 substitute STATE! (0|false):off,(1|true):on
attr mySwitch1 ccureadingfilter STATE
attr mySwitch1 event-on-change-reading .*
define off_mySwitch1 notify mySwitch1:off {system(,,/usr/bin/send 11111 1 0 &")}
define on_mySwitch1 notify mySwitch1:on { system(,,/usr/bin/send 11111 1 1 &")}


bumbumb

hallo
warum geht es mit dem virutellen  schalter nicht. Wo ist denn der Fehler.
Das habe ich ausgelesen
CHN CUX2801002:5 HM-RC-19 CUX2801002:5
  DPT {f} CUxD.CUX2801002:5.LEVEL = 0.000000 [RWE]
  DPT {b} CUxD.CUX2801002:5.OLD_LEVEL =  [W]
  DPT {b} CUxD.CUX2801002:5.STOP =  [WE]
  DPT {b} CUxD.CUX2801002:5.STATE = true [RWE]
  DPT {b} CUxD.CUX2801002:5.PRESS_SHORT =  [WE]
  DPT {b} CUxD.CUX2801002:5.PRESS_LONG =  [WE]
  DPT {b} CUxD.CUX2801002:5.CMD_RUNS =  [W]
  DPT {b} CUxD.CUX2801002:5.CMD_RUNL =  [W]
  DPT {s} CUxD.CUX2801002:5.CMD_KILL =  [W]
  DPT {s} CUxD.CUX2801002:5.CMD_EXEC =  [W]
  DPT {s} CUxD.CUX2801002:5.LOGIT =  [W]
  DPT {s} CUxD.CUX2801002:5.SYSLOG =  [W]
  DPT {s} CUxD.CUX2801002:5.CMD_SETS =  [RWE]
  DPT {s} CUxD.CUX2801002:5.CMD_SETL =  [RWE]
  DPT {s} CUxD.CUX2801002:5.CMD_RETS =  [RE]
  DPT {s} CUxD.CUX2801002:5.CMD_RETL =  [RE]
  DPT {b} CUxD.CUX2801002:5.CMD_QUERY_RET =  [W]
  DPT {b} CUxD.CUX2801002:5.WORKING = false [RE]
  DPT {i} CUxD.CUX2801002:5.CONTROL = 1 [R]
  DPT {f} CUxD.CUX2801002:5.SET_STATE =  [W]
  DPT {s} CUxD.CUX2801002:5.RAND = 19782 [RW]
  DPT {b} CUxD.CUX2801002:5.INHIBIT = false [RW

bumbumb

Oder geht es mit cuxd devices nicht. Kannst du mir bitte nur noch einmal helfen. Vielen dank

bumbumb

hat denn keiner eine Idee? Geht das mit einem Virtuellen Schalter nicht? Hoffe es kann mir nochmals jemand helfen. Vielen Dank

Als Fernbedienung kommt ein virtuelles CuxD als Schalter zum Einsatz. Leider aktuallisiert sich der Status in Fhem nicht. Erst mit g"et update" zeigt er dann den richtigen Status an. Jetzt bin ich überfragt. Eine Schaltbare Steckdose von HM funktioniert aber.

Help help

zap

2 Möglichkeiten:

1. Das Attribut rpcport um 8701 erweitern (der Port für CUxD) UND den externen RPC Server verwenden (wie das geht steht im Wiki zu HMCCU). Der interne RPC Server unterstützt CUxD nicht

2. Du benutzt einen der virtuellen Schalter der CCU: Einstellungen -> Geräte. Auf das + vor CCU klicken, Kanal aussuchen, ggf. umbenennen, in FHEM für diesen Kanal ein HMCCUCHN Device definieren.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)

bumbumb

Hilfe Hilfe,

es klappt leider immer noch nicht. Wo ist mein Fehler. Bitte helfe mir noch einmal.
define d_ccu HMCCU 192.168.178.40
attr d_ccu rpcport 2001,2010,8701
attr d_ccu rpcinterval 5
attr d_ccu stateFormat rpcstate/state
#
# Schnittstellen
attr d_ccu rpcinterfaces BidCos-RF,CUxD,HmIP-RF,VirtualDevices
#
# RPC-Server nach dem Start von FHEM automatisch starten
attr d_ccu rpcserver on
#
# Status anzeigen
attr d_ccu stateFormat rpcstate/state
#
# Buttons für das Starten und Stoppen des RPC-Servers anzeigen
attr d_ccu cmdIcon on:general_an off:general_aus
attr d_ccu eventMap /rpcserver on:on/rpcserver off:off/
attr d_ccu ccudef-readingfilter ^(LOW_?BAT|UNREACH)$
attr d_ccu ccudef-readingname ^(.+\.)?LOW_?BAT$:battery;^(.+\.)?UNREACH$:activity
attr d_ccu ccudef-substitute AES_KEY!(0|false):off,(1|true):on;LOWBAT,LOW_BAT!(0|false):ok,(1|true):low;UNREACH!(0|false):alive,(1|true):dead;MOTION!(0|false):noMotion,(1|true):motion;DIRECTION!0:stop,1:up,2:down,3:undefined;WORKING!0:false,1:true;INHIBIT!(0|false):unlocked,(1|true):locked
#
# Anzeige aller Geräte, deren Namen mit HM_ beginnt und bei denen das Reading battery den Wert low hat
name:battery,filter:name=^HM_.*,read:battery,if:any=low,else:ok,prefix:battery_,coll:comment!Batterien OK;
#
# Anzeige aller Geräte vom Typ HM-CC-RT-DN oder HM-TC-IT-WM-W-EU, deren Batteriespannung kleiner gleich 2.2 Volt ist
name:voltage,filter:type=(HM-CC-RT-DN|HM-TC-IT-WM-W-EU),read:BATTERY_STATE,if:le=2.2,else:0,prefix:voltage_,coll:comment!Batteriespannung OK;
#
# Anzeige aller Geräte, deren Namen mit HM_TF beginnt und bei denen das Reading state den Wert open hat
name:lock,filter:name=^HM_TF.*,read:state,if:any=open,else:closed,prefix:lock_,coll:comment!Alle Fenster/Türen geschlossen;
#
# Anzeige aller Geräte der Gruppe Dachfenster, bei denen das Reading state den Wert open hat
name:lockroof,filter:group=Dachfenster,read:state,if:any=open,else:closed,prefix:lockroof_,coll:comment!Alle Dachfenster geschlossen;
#
# Anzeige aller Geräte, deren Namen mit HM_TF beginnt aber nicht mit Haustuer endet und bei denen das Reading state den Wert open hat
name:lockwin,filter:name=^HM_TF.*!Haustuer$,read:state,if:any=open,else:closed,prefix:lockwin_,coll:comment!Alle Fenster/Türen geschlossen;
#
# Anzeige aller Geräte, deren Namen mit HM_KL beginnt und bei denen das Reading HUMIDITY größer gleich 60 ist
name:hummax,filter:name=^HM_KL.*,read:HUMIDITY,if:ge=60,else:0,prefix:hummax_,coll:alias!Luftfeuchte OK;
#
# Anzeige aller Geräte, deren Namen mit HM_ beginnt und die nicht erreichbar sind
name:unreach,filter:name=^HM_.*,read:activity,if:any=dead,else:alive,prefix:unreach_,coll:comment!Alle Devices erreichbar

attr d_ccu ccureadings 1
attr d_ccu event-on-change-reading .*
#
# Werte auf eine Nachkommastelle abschneiden
attr d_ccu stripnumber 1

define mySwitch1 HMCCUDEV CUX2801002 5
attr mySwitch1 IODev d_ccu
attr mySwitch1 d_ccureadingfilter STATE
attr mySwitch1 event-on-change-reading .*
attr mySwitch1 statechannel 1
attr mySwitch1 statedatapoint STATE
attr mySwitch1 statevals on:true,off:false
attr mySwitch1 substitute STATE!(0|false):off,(1|true):on
define off_mySwitch1 notify mySwitch1:false {system(,,/usr/bin/send 11111 1 0 &")}
define on_mySwitch1 notify mySwitch1:true { system(,,/usr/bin/send 11111 1 1 &")}



Kannst du mir es bitte abändern, so das es funktioniert. Vielen Dank

zap

attr d_ccu ccuflags extrpc

Dann den RPC Server oder besser FHEM neu starten.

Aber: vermutlich wirst du damit auch nicht gleich zum Ziel kommen, da nicht alle CUxD Geräte immer Events schicken. Insofern wäre der virtuelle CCU Taster wie weiter oben beschrieben die bessere Wahl.

Außerdem wird dein Ansatz, stumpf die Befehle aus dem Wiki zu kopieren, nicht zum Ziel führen. Das sind (teilweise) nur Beispiele, die du an deine Umgebung anpassen musst. Vor allem musst du es verstehen, nicht nur abtippen.

FHEM ist eine Plattform, in die man sich einarbeiten muss. Wenn du schnell zum Ziel kommen willst und dich nicht mit den Details befassen willst, würde ich dir den Wechsel auf eine einfacher zu bedienende Smarthome Plattform empfehlen.

So, ich bin damit raus.
2xCCU3 mit ca. 100 Aktoren, Sensoren
Entwicklung: FHEM auf Proxmox Debian VM
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: HMCCU, (Fully, AndroidDB)