Neues Modul HMCCU für Homematic CCU

Begonnen von zap, 19 August 2015, 19:45:30

Vorheriges Thema - Nächstes Thema

chris1284

Zitat von: rubinho am 12 Januar 2017, 13:41:37
vielleicht wurde das auf Modulseite (HMCCU) nur nicht implementiert.

nö, er ist auch nicht in den datapoint-dokus von eq3 beschrieben somit sicher nicht vorhanden.
per ccu scripts gehts aber und die kannst du per HMCCU auch aus fhem starten

Wernieman

Du mmust über einen anderen Datapoint gehen .. kann es nur nicht gerade prüfen ..


Der von Dir genannte ist doch "readonly"?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

chris1284

#1082
ich habe keinen datapoint der auch nur ansatzweise was mit den buttons zu tun hat und es ist in der doku auch keiner beschrieben! http://www.eq-3.de/Downloads/eq3/download%20bereich/hm_web_ui_doku/hm_devices_Endkunden.pdf seite 28
anbeimal die deviceinfo eines rt

Zitat
CHN NEQ1408452:0 wz_hz:0
  DPT {b} BidCos-RF.NEQ1408452:0.UNREACH = false [RE]
  DPT {b} BidCos-RF.NEQ1408452:0.STICKY_UNREACH = false [RWE]
  DPT {b} BidCos-RF.NEQ1408452:0.CONFIG_PENDING = false [RE]
  DPT {b} BidCos-RF.NEQ1408452:0.LOWBAT = false [RE]
  DPT {n} BidCos-RF.NEQ1408452:0.RSSI_DEVICE = 1 [RE]
  DPT {n} BidCos-RF.NEQ1408452:0.RSSI_PEER = 212 [RE]
  DPT {b} BidCos-RF.NEQ1408452:0.INHIBIT = false [RWE]
  DPT {b} BidCos-RF.NEQ1408452:0.DEVICE_IN_BOOTLOADER = false [RE]
  DPT {b} BidCos-RF.NEQ1408452:0.UPDATE_PENDING = false [RE]
  DPT {n} BidCos-RF.NEQ1408452:0.AES_KEY = 0 [R]
CHN NEQ1408452:4 wz_hz:4
  DPT {i} BidCos-RF.NEQ1408452:4.CONTROL_MODE = 0 [RE]
  DPT {i} BidCos-RF.NEQ1408452:4.FAULT_REPORTING = 0 [RE]
  DPT {f} BidCos-RF.NEQ1408452:4.BATTERY_STATE = 2.900000 [RE]
  DPT {i} BidCos-RF.NEQ1408452:4.VALVE_STATE = 0 [RE]
  DPT {i} BidCos-RF.NEQ1408452:4.BOOST_STATE = 0 [RE]
  DPT {f} BidCos-RF.NEQ1408452:4.ACTUAL_TEMPERATURE = 16.900000 [RE]
  DPT {f} BidCos-RF.NEQ1408452:4.SET_TEMPERATURE = 16.000000 [RWE]
  DPT {b} BidCos-RF.NEQ1408452:4.AUTO_MODE =  [W]
  DPT {f} BidCos-RF.NEQ1408452:4.MANU_MODE =  [W]
  DPT {b} BidCos-RF.NEQ1408452:4.BOOST_MODE =  [W]
  DPT {b} BidCos-RF.NEQ1408452:4.COMFORT_MODE =  [W]
  DPT {b} BidCos-RF.NEQ1408452:4.LOWERING_MODE =  [W]
  DPT {s} BidCos-RF.NEQ1408452:4.PARTY_MODE_SUBMIT =  [W]
  DPT {f} BidCos-RF.NEQ1408452:4.PARTY_TEMPERATURE = 5.000000 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_START_TIME = 0 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_START_DAY = 1 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_START_MONTH = 1 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_START_YEAR = 0 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_STOP_TIME = 0 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_STOP_DAY = 1 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_STOP_MONTH = 1 [RW]
  DPT {i} BidCos-RF.NEQ1408452:4.PARTY_STOP_YEAR = 0 [RW]


rubinho

Ich glaube Wernieman meinte den Konfigpoint (Ich nenne es jetzt mal so)
R-HM-TC-IT-WM-W-EU.BUTTON_LOCK
Diesen kann man auslesen, theoretisch auch schreiben, wenn er denn nicht readonly ist.
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

chris1284

das ist ja das was man auch in get configlist sieht

rubinho

Zitat von: chris1284 am 12 Januar 2017, 13:31:48
EDIT: Antowrt aus HM -Forum
Zitatdas geht mit dem setParam.tcl-Script, min. BUTTON_LOCK boolean 0 MODUS_BUTTON_LOCK boolean 0 kann man damit setzen und aufheben...

Da ich mit der Homatic CCU2 absolut keine Erfahrung habe, kann ich mir der Info nicht wirklich viel anfangen, sorry.
Ich wollte auch so wenig wie möglich auf der CCU2 rumfummeln und überwiegend in Fhem arbeiten, nur dass was Fhem in Verbindung mit HMLAN nicht kann (z.B. FW-Updates, HM-IP) soll die CCU2 übernehmen.

Von daher würde ich für etwas Hilfe dankbar sein.

Einzig der Pfad des Scripts  "setparam.tcl" (/usr/local/) ist mir bekannt. Das war es auch schon.

Gruß
Rubinho
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

Loredo

#1086
Der Datapoint, um die Bedienung zu locken, lautet INHIBIT.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

zap

#1087
Zitat von: Loredo am 12 Januar 2017, 16:53:31
Der Datapoint, um die Bedienung zu locken, lautet INHERIT.

Ich muss Dich korrigieren: INHIBIT (Kanal 0).

Um also ein mit HMCCUDEV definiertes Thermostat zu sperren, kann man das machen:

set xyz datapoint 0.INHIBIT 1

oder:


attribute xyz eventMap /datapoint 0.INHIBIT 1:lock/datapoint 0.INHIBIT 0:unlock/
set xyz lock
set xyz unlock


Grundsätzlich müsste es über die Config-Parameter auch gehen. Allerdings ist GLOBAL_BUTTON_LOCK möglicherweise readonly. Leider sind die Config-Parameter nicht dokumentiert. Einige Devices implementieren eine Methode, mit der man eine Kurzbeschreibung auslesen kann. Das entspricht in HMCCUDEV dem Befehl get configdesc. Leider ist dies bei Thermostaten nicht implementiert.

Eine gute Infoquelle sind die Geräteeinstellungen in der CCU. Dort kann man Haken bei 3 verschiedenen Locks setzten. Insofern müsste

set xyz config GLOBAL_BUTTON_LOCK=1

funktionieren. Kann es aber momentan nicht testen, da ich dabei gerade in der neuen Version hier einen echt üblen Bug gefunden habe ;-)


2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

rubinho

Zitat von: zap am 12 Januar 2017, 18:31:17

Eine gute Infoquelle sind die Geräteeinstellungen in der CCU. Dort kann man Haken bei 3 verschiedenen Locks setzten. Insofern müsste

set xyz config GLOBAL_BUTTON_LOCK=1

funktionieren. Kann es aber momentan nicht testen, da ich dabei gerade in der neuen Version hier einen echt üblen Bug gefunden habe ;-)

@ZAP
Jep den Befehl hab ich schon getestet. Der wird von Fhem sogar akzeptiert, jedoch wird nix in die CCU2 geschrieben und bei einem get xyz config GLOBAL_BUTTON_LOCK kommt auch wieder direkt eine 0.

Das müsste doch gehen, ich werd verrückt.  :o
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

zap

Hast Du den Tipp weiter oben probiert?

set datapoint 0.INHIBIT 1
2xCCU3, Fenster, Rollläden, Themostate, Stromzähler, Steckdosen ...)
Entwicklung: FHEM auf AMD NUC (Ubuntu)
Produktiv inzwischen auf Home Assistant gewechselt.
Maintainer: FULLY, Meteohub, HMCCU, AndroidDB

chris1284

#1090
Zitat von: zap am 12 Januar 2017, 20:31:16
set datapoint 0.INHIBIT 1

bringt nichts, das reading ändet sich aber mehr nicht. weder beim rt noch beim wandthermostat. aktiviert man den lock am rt ändert sich das reading auch nicht.
es gibt insgesamt auch 3 modi des btnlock

btnLock = BUTTON_LOCK
globalBtnLock  =  GLOBAL_BUTTON_LOCK
modusBtnLock  = MODUS_BUTTON_LOCK

edit:

wäre das ein script für die ccu2 , wenn ka wo/wie ausführen?

string addr = dom.GetObject("az_hz").Address();
system.Exec("tclsh /usr/local/setparam.tcl "#addr#" BUTTON_LOCK boolean 1");

Loredo

AFAIK lassen sich die Button Locks am Gerät selbst aktivieren und deaktivieren, das findet auch der Nachwuchs raus. INHIBIT geht nur über die Station. Die Übertragung kann aber etwas dauern


Sent from my iPad using Tapatalk
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

rubinho

Zitat von: Loredo am 12 Januar 2017, 22:24:26
AFAIK lassen sich die Button Locks am Gerät selbst aktivieren und deaktivieren, das findet auch der Nachwuchs raus. INHIBIT geht nur über die Station. Die Übertragung kann aber etwas dauern


Sent from my iPad using Tapatalk

Den Modus den du beschreibst ist der Global_Button_Lock, dieser lässt sich nur über die Software (Fhem oder CCu2) freischalten.
INHIBIT hat bei mir ausser das Ändern des Readings keine Auswirkung. Es wird nichts gesperrt.

Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

chris1284

#1093
dazu finde ich hier die aussage ganz gut http://homematic-forum.de/forum/viewtopic.php?t=28125&p=250060
diese parameter sind wohl nicht über die channel verfügbar (set <> datapoint 0.xxx 4.xxx sollte somit garnicht gehen)

ich setzte erfolgreich den buttonlock via programm auf der ccu2 das ich über die hmccu starte
Zitatset ccu execute btn_lock
das script im programm ist folgendes (az_hz ist durch euren gerätenamen zu ersetzen)

var stdout;
var stderr;
string addr = dom.GetObject("az_hz").Address();
system.Exec("tclsh /usr/local/setParam.tcl "#addr#" BUTTON_LOCK boolean 1",&stdout,&stderr);

WriteLine(stdout);
WriteLine(stderr);



die setParam.tcl  muss unter /usr/local/ auf der ccu abgelegt werden (per winscp / shh zB). (quelle http://homematic-forum.de/forum/viewtopic.php?t=5621)

#
# Aufruf für ein putParamset (z.B. via system.Exec)
# =================================================
# von Oliver Wagner <owagner@vapor.com>
#
# tclsh setparam <addresse> <item> <datentyp> <wert>
# z.B.
# tclsh setparam GEQ004711:2 MODE_TEMPERATUR_REGULATOR int 1
#
# Diese Version ist fuer Funk. Fuer Wired muss unten der Port von 2001 auf 2000 geaendert werden.
#
load tclrpc.so
set item [lindex $argv 1]
set datatype [lindex $argv 2]
set val [lindex $argv 3]
set cmd "{$item {$datatype $val}}"
xmlrpc http://127.0.0.1:2001/ putParamset [list string [lindex $argv 0]] [list string "MASTER"] [list struct $cmd]


wenn jemand weiss wie man einem ccu scritp parameter übergibt wäre ich dankbar, so könnte man dem script einfach den namen des gerätes mitgeben statt diesen fest im script zu haben (um nicht für jeden rt ein script bauen zu müssen)


es müsste auch ohne gehen denn ist xmlrpc nicht die ccu2 rpc-schnittstelle die hmccu eh verwendet???

Wernieman

Das xmlrpc gibt es auch für jeden Linux-Rechner, z.B. durch installieren von apt install libxmlrpc-core-c3-dev

Entsprechend könntest Du mal probieren, ob die Zeile auch von Deinem PC aus funktioniert:
xmlrpc http://127.0.0.1:2001/ putParamset [list string [lindex $argv 0]] [list string "MASTER"] [list struct $cmd]

Kann es nur aktuell nicht Probieren .. und wegen Oberleitungssturmschaden bei der Bahn (in Leipzig) weiß ich nicht, wann ich heute "zu Hause" bin
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html