HMCCU: Version 4.3 verfügbar

Begonnen von zap, 11 September 2018, 10:40:03

Vorheriges Thema - Nächstes Thema

hauwech

Hallo zusammen,
gerade war mein Herz in die Hosentasche gerutscht...
Meine beiden HMIP Devices (HmIP-SWDO-I  und HmIP-SWD) waren in fhem nicht mehr erreichbar.
Was habe ich gemacht:
- set myHMCCU rpcserver restart
Event im fhem Log: Undefined subroutine &main::HMCCURPC_StopRPCServer called at ./FHEM/88_HMCCU.pm line 1581.

Danach war mein fhem tot, fhem stop/start hat nix gebracht. Das ganze System (Ubuntu 16.04 LTS) rebootet, fhem bleibt beim Start bei der Intialisierung meines JeeLink hängen, Port 7072 wird als "in use" gemeldet. :o Also das ganze System nochmal durchgepustet: Alles wieder gut, fhem startet, alle Devices wieder erreichbar, Puls geht wieder runter.

Was habe ich vorher gemacht:
- Den homematic-Raspi mit Raspimatic neu gestartet, weil in den letzten drei Tagen die Anzahl der threads kontinuierlich auf zum Schluß über 4100(!) gestiegen ist. Gemerkt habe ich das, weil ich die Netzdevices mit check-mk beobachte. Da scheint also bei Raspimatic mit dem thread handling was im Argen zu sein. Irgendwann wird der Raspi also mal Dicke Backen machen, wenn das System unbeobachtet läuft.
Wahrscheinlich waren von da an meine beiden HMIP Devices nicht mehr erreichbar, weil offenbar die RPC Kommunikation unterbrochen war.

Ich habe für alle beteiligten Pakete die jeweils aktuellen Versionen:
- Raspberrymatic Version 3.37.8.20180929
- HMCCU Version 4.3.004

Ich gebe zu, ich habe den 103-Seiten thread noch nicht ganz durchgeackert.
Meine Fragen an die Experten:
- Was hätte ich besser machen können?
- In welcher Reihenfolge sollte man die System behandeln? Ich fürchte, ich muß den homematic Raspi ab und zu mal starten, der threadcount geht langsam wieder hoch.

Zum Schluß noch ein Dickes Dankeschön an zap für das Modul, so kann man in eine bestehende fhem Installation auch HMIP Devices anbinden - feine Sache!

Danke und Gruß
Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

zap

Welchen RPC Server nutzt du? Könnte ein Bug sein.
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

hauwech

Wo muß ich da kucken? Ich habe für HMIP einen neuen Raspi 3B+ mit einem RPI-RF-Mod Modul und dem aktuellen Raspimatic Image aufgesetzt. Mein fhem läuft auf einem NUC unter Ubuntu 16.04 LTS. Dort habe ich laut WIKI sudo apt-get update && sudo apt-get install -y librpc-xml-perl installiert.

Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

zap

#93
Die Funktion HMCCURPC_Stop... dürfte gar nicht aufgerufen werden.

Hast du im IO Device das Attribut ccuflags auf procrpc gesetzt? Falls nicht bitte machen. Vorher den RPC Server anhalten. Dann das Attribut setzen, die Config speichern, den RPC Server starten und nochmal  onfig speichern.

Danach muss für jede CCU Schnittstelle ein Devicd vom Typ HMCCURPCPROC existieren. Das benutzt auch keine Threads mehr.


@Simon74: es könnte auch an IF liegen. Ist allerdings jetzt nur eine wilde Vermutung. Kannst du das mal auf DOIF umstellen?
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

hauwech

Hallo zap,
ich habe das Attribut ccuflags auf procrpc gesetzt, das hatte ich vorher nicht. jetzt habe ich zwei HMCCURPCPROC devices, eins für BidCos, eins für HMIP.

Danke für Deine Hilfe.
Gruß Roland
Fhem auf Intel NUC11TNKi5+M2 NVMe+32GB RAM mit Ubuntu 22.04 LTS

Simon74

Zu meinem BM <-> Dimmer Problem,
im Homematic Forum habe ich folgendes erfahren:

Zitateinfach die Reihenfolge ändern:
*..Einschaltdauer
*..Dimmzeit
*..Dimmwert

So wie es aussieht behebt das auch mein Problem in den CCU Programmen, seit ich diese Reihenfolge einhalte ist es nicht mehr vorgekommen das ein Dimmer nicht ausschaltet.

Nun stelle ich mir die Frage in welcher Reihenfolge HMCCU die "pct Werte" an die CCU übermittelt ?





zap

#96
Nun, die Syntax des Befehls ist:

set pct DimWert [Einschaltdauer [DimZeit]]

Wenn nur der DimWert angegeben wird, wird nur LEVEL gesetzt. Wenn Einschaltdauer und eventuell noch DimZeit angegeben wird, sieht die Reihenfolge so aus:

Einschaltdauer (wenn angegeben)
Dimmzeit (wenn angegeben und Einschaltdauer angegeben)
Dimmwert

Du kannst pct aber auch ersetzen durch 3 set datapoiint Befehle

set datapoint ON_TIME Zeit
set darapoint RAMP_TIME Zeit
set datapoint LEVEL Wert

Bei HMCCUDEV vor den Datenpunkten noch die Kanalnummer mit Punkt angeben.

Update: wenn im IO Device das ccuflags nonBlocking gesetzt ist, ist die o.g. Reihenfolge nicht gewährleistet!!

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

zap

Kleines Update für HMCCU und HMCCUDEV: Die Aktualisierung der Readings in Client Devices wurde überarbeitet. Außerdem wurde ein (kleiner) Bug bei der internen Verwaltung der Client Devices behoben.

Diese Update behebt noch nicht das Problem mit on-for-timer !
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

Ralli

Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

slor

#99
Zitat von: inoma am 24 September 2018, 19:28:33
Hallo Zap,
ich bekomme seit neuestem immer folgende Fehlermeldung, die irgendwie vom Eintrag/Leerfeld beim setter "set CCU3" herkommt, siehe Bild CCU3_capture.JPG.
2018.09.24 19:13:00 1: ERROR evaluating {ReadingsVal("CCU3","1,${ruleTmpProgramName},${ruleTmpProgramName}","")}: Global symbol "$ruleTmpProgramName" requires explicit package name (did you forget to declare "my $ruleTmpProgramName"?) at (eval 766661) line 1.
Global symbol "$ruleTmpProgramName" requires explicit package name (did you forget to declare "my $ruleTmpProgramName"?) at (eval 766661) line 1.

Wie bekomme ich das wieder weg?
Zitat von: slor am 29 September 2018, 23:14:53
Ich habe gernau die gleichen Meldungen im Log. Schon eine Lösung dafür gefunden?
bei mir ist es seit dem ich am 2.10 ein Update gemacht habe weg.

2018.10.02 14:43:49 1: RMDIR: ./restoreDir/update/2018-09-19
2018.10.02 14:43:49 1: UPD ./CHANGED
2018.10.02 14:43:49 1: UPD ./MAINTAINER.txt
2018.10.02 14:43:49 1: UPD FHEM/10_MQTT_GENERIC_BRIDGE.pm
2018.10.02 14:43:49 1: UPD FHEM/19_Revolt.pm
2018.10.02 14:43:49 1: UPD FHEM/20_X10.pm
2018.10.02 14:43:49 1: UPD FHEM/32_withings.pm
2018.10.02 14:43:49 1: UPD FHEM/36_Shelly.pm
2018.10.02 14:43:49 1: UPD FHEM/38_netatmo.pm
2018.10.02 14:43:49 1: UPD FHEM/55_DWD_OpenData.pm
2018.10.02 14:43:49 1: UPD FHEM/57_Calendar.pm
2018.10.02 14:43:49 1: UPD FHEM/59_HCS.pm
2018.10.02 14:43:49 1: UPD FHEM/72_FRITZBOX.pm
2018.10.02 14:43:50 1: UPD FHEM/72_XiaomiDevice.pm
2018.10.02 14:43:50 1: UPD FHEM/88_HMCCU.pm
2018.10.02 14:43:50 1: UPD FHEM/96_allowed.pm
2018.10.02 14:43:50 1: UPD FHEM/98_telnet.pm
2018.10.02 14:43:50 1: saving fhem.cfg
2018.10.02 14:43:50 1: saving ./log/fhem.save
2018.10.02 14:43:50 1:
2018.10.02 14:43:50 1: New entries in the CHANGED file:
2018.10.02 14:43:50 1:   - bugfix:  88_HMCCU: Temporary CCU programs are ignored now.
2018.10.02 14:43:50 1:   - change:  19_Revolt: allow adjustment of energy value, filtering of
2018.10.02 14:43:50 1:              implausible values
2018.10.02 14:43:50 1:   - bugfix:  72_XiaomiDevice: better handling of definition w/ missing token
2018.10.02 14:43:50 1:   - change:  32_withings: add in_bed for sleep trackers, ignore inactive users
2018.10.02 14:43:50 1:   - change:  57_Calendar: new attribute quirks with ignoreDtStamp value.
2018.10.02 14:43:50 1:   - change:  57_Calendar: cutoffOlderThan also removes recurring events when
2018.10.02 14:43:50 1:              the series has ended.
2018.10.02 14:43:50 1:   - change:  55_DWD_OpenData: KML based forecast, readings have changed,
2018.10.02 14:43:50 1:              attr forecastProperties must be updated (forum #83097)
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

zap

Zitat von: slor am 29 Oktober 2018, 14:44:31
bei mir ist es seit dem ich am 2.10 ein Update gemacht habe weg.


Was ist weg?

@Ralli: Übersehen, da war ich im oder kurz vorm Urlaub.

Du meinst also, dass "set rolloxy Wert" mal funktioniert hat? Eigentlich fehlt da ja noch die Datenpunkt Angabe inkl. Befehl "datapoint", also

bei HMCCUDEV: set rolloxy datapoint 1.LEVEL 50

bei HMCCUCHN: set rolloxy datapoint LEVEL 50

oder auch

set rolloxy pct 50
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

slor

sorry, zu blöd zum zitieren. Jetzt sollte es passen.
Die Meldungen sind weg:
2018.09.24 19:13:00 1: ERROR evaluating {ReadingsVal("CCU3","1,${ruleTmpProgramName},${ruleTmpProgramName}","")}: Global symbol "$ruleTmpProgramName" requires explicit package name (did you forget to declare "my $ruleTmpProgramName"?) at (eval 766661) line 1.
Global symbol "$ruleTmpProgramName" requires explicit package name (did you forget to declare "my $ruleTmpProgramName"?) at (eval 766661) line 1.
Fhem auf Raspberry Pi 4
CCU3 mit RaspberryMatic mit HMCCU an FHEM
HMCCU, Telegram, Conbee2 und Hue/Tradfri/Osram Lampen AQARA Sensoren, HomeConnect

raimundl

#102
Hallo!

Bin auf HMCCU über RapMatic (CCU3) umgestiegen und benötige primär die "alexa Funktionen" von FHEM:

Alle Schalter funktionieren problemlos, ein Heizkörperthermostat (HM-CC-RT-DN) gibt mir die aktuelle Temperatur als Sprachausgabe aus.
Beim Einbinden vom Wandthermostat (HM-TC-IT-WM-W-EU) probiere ich seit vielen Stunden erfolglos herum. Dieser Thermostat wird in "alexa" immer nur als Schalter erkannt.
Meine Frage und Bitte:
Welche Attribute muss ich in der HMCCUDEV setzen, damit der Wandthermostat sowohl die aktuelle Temperatur wiedergibt, als auch die Raumtemperatur verstellt werden kann (stelle, erhöhe, reduziere um xx)?
Ein posten meiner derzeitigen eingestellten Attribute ist aktuell sinnlos, weil ich diese schon zigmale geändert habe!

Danke und LG

Edit (vielleicht doch ein list mit default Werten) Mit dieser Einstellung ist der Thermostat in "alexa" ein Schalter, der, wenn er betätigt wird, die Temperatur auf 4,5° stellt:
Internals:
   CFGFN     
   DEF        TH_Wohnzimmer
   IODev      CCU3
   NAME       Heizung_Wohnzimmer
   NR         380
   STATE      4.5
   TYPE       HMCCUDEV
   ccuaddr    LEQ1283361
   ccudevstate active
   ccuif      BidCos-RF
   ccuname    TH_Wohnzimmer
   ccutype    HM-TC-IT-WM-W-EU
   channels   6
   statevals  devstate
   READINGS:
     2018-10-29 16:44:26   1.HUMIDITY      62
     2018-10-29 16:44:26   1.TEMPERATURE   21.1
     2018-10-29 16:44:16   2.SET_TEMPERATURE 4.5
     2018-10-29 16:44:16   2.WINDOW_OPEN_REPORTING closed
     2018-10-29 16:44:16   control         4.5
     2018-10-29 16:44:34   hmstate         4.5
     2018-10-29 16:44:16   state           4.5
   hmccu:
     devspec    TH_Wohnzimmer
     dp:
       1.HUMIDITY:
         OSVAL      62
         OVAL       62
         SVAL       62
         VAL        62
       1.TEMPERATURE:
         OSVAL      21.1
         OVAL       21.100000
         SVAL       21.1
         VAL        21.100000
       2.ACTUAL_HUMIDITY:
         OSVAL      63.000000
         OVAL       62.000000
         SVAL       62.0
         VAL        62.000000
       2.ACTUAL_TEMPERATURE:
         OSVAL      21.1
         OVAL       21.100000
         SVAL       21.100000
         VAL        21.100000
       2.BATTERY_STATE:
         OSVAL      2.600000
         OVAL       2.500000
         SVAL       2.600000
         VAL        2.600000
       2.BOOST_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.COMMUNICATION_REPORTING:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.CONTROL_MODE:
         OSVAL      0
         OVAL       1
         SVAL       0
         VAL        1
       2.LOWBAT_REPORTING:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.PARTY_START_DAY:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       2.PARTY_START_MONTH:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       2.PARTY_START_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.PARTY_START_YEAR:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.PARTY_STOP_DAY:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       2.PARTY_STOP_MONTH:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       2.PARTY_STOP_TIME:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.PARTY_STOP_YEAR:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       2.PARTY_TEMPERATURE:
         OSVAL      5.000000
         OVAL       5.000000
         SVAL       5.000000
         VAL        5.000000
       2.SET_TEMPERATURE:
         OSVAL      4.5
         OVAL       4.500000
         SVAL       4.5
         VAL        4.500000
       2.WINDOW_OPEN_REPORTING:
         OSVAL      closed
         OVAL       0
         SVAL       closed
         VAL        0
       7.DECISION_VALUE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
Attributes:
   IODev      CCU3
   alexaName  Heizung
   ccureadingfilter (^HUMIDITY|^TEMPERATURE|^SET_TEMPERATURE|^WINDOW_OPEN)
   cmdIcon    Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
   controldatapoint 2.SET_TEMPERATURE
   eventMap   /datapoint 2.MANU_MODE 20.0:Manu/datapoint 2.AUTO_MODE 1:Auto/datapoint 2.BOOST_MODE 1:Boost/datapoint 2.MANU_MODE 4.5:off/datapoint 2.MANU_MODE 30.5:on/
   genericDeviceType thermostat
   room       alexa
   statedatapoint 2.SET_TEMPERATURE
   stripnumber 1
   substexcl  control
   substitute CONTROL_MODE!0:AUTO,1:MANU,2:PARTY,3:BOOST;WINDOW_OPEN_REPORTING!(true|1):open,(false|0):closed;SET_TEMPERATURE!#0-3.5:off,#30.5-40:on
   webCmd     control:Auto:Manu:Boost:on:off
   widgetOverride control:slider,4.5,0.5,30.5,1

Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....

zap

Das Verhalten als Schalter ist klar. Bei den Thermostaten ist "on" als 30.5 Grad und "off" als 4.5 Grad definiert.

Vermutlich musst Du den richtigen genericDeviceType einstellen und/oder das homebridge mapping anpassen.

Außerdem ist es vermutlich hilfreich, über eventMap einige Befehle zu definieren wie z.B. desired-temp

Aber da bin ich überfragt. Vielleicht stellst Du die Frage nochmal im "Sprachsteuerung" Forum.
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

Ralli

Zitat von: zap am 29 Oktober 2018, 15:48:03
@Ralli: Übersehen, da war ich im oder kurz vorm Urlaub.
Du meinst also, dass "set rolloxy Wert" mal funktioniert hat? Eigentlich fehlt da ja noch die Datenpunkt Angabe inkl. Befehl "datapoint", also

Ja, das hat sogar ganz lange funktioniert - da fehlt nix, das wird über die Definition vom Device umgesetzt (Attribut eventMap):

Zitat
{usr=> { '^stop$' => 'datapoint 1.STOP true', '^up$' => 'datapoint 1.LEVEL 100', '^down$' => 'datapoint 1.LEVEL 0', '^Schatten$' => 'pct ".(AttrVal($dev,"Schatten",0))."', '^Schlitz$' => 'pct ".(AttrVal($dev,"Schlitz",0))."', '^HalbSchlitz$' => 'pct ".(AttrVal($dev,"HalbSchlitz",0))."', '^Frost$' => 'pct ".(AttrVal($dev,"Frost",0))."', '^(100|[1-9][0-9]|[1-9]|[1-9][0-9]\.[0-9]|[0-9]\.[0-9])$' => 'pct ".$1."' }}

Das Problem liegt irgendwo im veränderten internen Handling von Rückgabewerten im Modul.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa