homebridge/homekit

Begonnen von justme1968, 01 Februar 2016, 16:16:37

Vorheriges Thema - Nächstes Thema

firstfacility

Hallo,
ich habe mich auch an das Homebridge Thema herangetraut, und ich muss sagen es läuft recht gut. Großes Lob an die Entwickler tolle Sache.
Ich würde nun gerne meinen aktuellen Stromverbrauch einbinden. Hierzu nutze ich den Volkszähler um verschiedene Werte anzeigen zu lassen. Mein Eintrag in der fhem.cfg lautet:
"  define Verbrauch_aktuell VOLKSZAEHLER 192.168.11.13 80    c3ade9b0-03f3-11e6-a739-xxxxxxxx average 60
attr Verbrauch_aktuell group Strom
attr Verbrauch_aktuell room Volkszaehler "

Ich bekomme dann einen Wert von zB 230 angezeigt, also ohne eine Einheit.

Auf meinem Iphone nutze ich die myHome app, und würde dort gern 230 w/h angezeigt bekommen. Leider unterstützt Apple die Anzeige einer aktuellen Leistung wohl nicht im Homekit. Hierzu habe ich mir die  HomeKitTypes.js angeschaut aber leider keinen Ansatz gefunden, Hätte jemand eine Idee wie ich das lösen könnte ?

Gruß
Frank

justme1968

nimm die eve app. die kann leistung und verbrauch anzeigen.

die readings sollten power, energy, current und voltage heissen. dann geht (fast) alles automatisch.

wenn deine readings anders heissen musst du homebridgeMapping mit den folgenden custom characertistics verwenden:            Voltage: 'E863F10A-079E-48FF-8F27-9C2605A29F52',
           Current: 'E863F126-079E-48FF-8F27-9C2605A29F52',
             Power: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
            Energy: 'E863F10C-079E-48FF-8F27-9C2605A29F52',


gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

firstfacility

Vielen Dank für deine Hilfe. Ich komme grade mit dem Mapping etwas durcheinander. Wenn ich die Homebridge starte bekomme ich folgenden Fehler:

" [2017-01-01 16:49:49] [FHEM] Verbrauch_aktuell: no service type detected
[2017-01-01 16:49:49] [FHEM] no accessory created for Verbrauch_aktuell (VOLKSZAEHLER) "

Ok hier muss gemappt werden so weit waren wir ja schon, wenn ich es richtig verstanden habe muss doch "  Verbrauch_aktuell " in "Current" oder "Power" gemappt werden.

Ich habe nun folgendes versucht:

" attr Verbrauch_aktuell homebridgeMapping Power=Verbrauch_aktuell "

Nur leider ohne Erfolg.

justme1968

es gibt keinen eigenen service (device typ) für die energie messungen. du kannst sie nur zusätzlich zu standart characteristics definieren. d.h. du brauchst einen switch, steckdose oder was auch immer.

ausserdem musst du (in der aktuellen version noch) die uid als characteristic namen verwenden:

attr Verbrauch_aktuell genericDeviceType=switch
attr Verbrauch_aktuell homebridgeMapping E863F10D-079E-48FF-8F27-9C2605A29F52=Verbrauch_aktuell,name=Power,format=FLOAT
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

firstfacility

Das schaut nun so aus :

"define Verbrauch_aktuell VOLKSZAEHLER 192.168.11.13 80  c3ade9b0-03f3-11e6-a739-d54da8ec9c73 average 60
attr Verbrauch_aktuell group Strom
attr Verbrauch_aktuell room Volkszaehler
attr Verbrauch_aktuell genericDeviceType=switch
attr Verbrauch_aktuell homebridgeMapping E863F10D-079E-48FF-8F27-9C2605A29F52=Verbrauch_aktuell,name=Power,format=FLOAT"

aber leider noch den gleichen Fehler.

justme1968

wenn du wirklich die config von hand editierst solltest dpa ich in dein log schauen: genericDeviceType ohne =
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

firstfacility

Ok soweit habe ich es hinbekommen, nochmal besten Dank für deine Hilfe. Ich bekomme meine beiden "Schalter" angezeigt auch könnten Werte in w angezeigt werden nur bekomme ich keine ...oder besser nur 0

Fhem startet fehlerfrei, die Homebridge startet auch :

" [2017-01-01 23:43:32] [FHEM] creating services for Stromverbrauch_aktuell
[2017-01-01 23:43:32] [FHEM]   information service for Stromverbrauch_aktuell
[2017-01-01 23:43:32] [FHEM]     manufacturer, model and serial number characteristics for Stromverbrauch_aktuell
[2017-01-01 23:43:32] [FHEM]   Switch service for Stromverbrauch_aktuell
[2017-01-01 23:43:32] [FHEM]     Custom Power characteristic for Stromverbrauch_aktuell:Stromverbrauch_aktuell
[2017-01-01 23:43:32] [FHEM] Initializing platform accessory 'Verbrauch_24h'...
[2017-01-01 23:43:32] [FHEM] creating services for Verbrauch_24h
[2017-01-01 23:43:32] [FHEM]   information service for Verbrauch_24h
[2017-01-01 23:43:32] [FHEM]     manufacturer, model and serial number characteristics for Verbrauch_24h
[2017-01-01 23:43:32] [FHEM]   Switch service for Verbrauch_24h
[2017-01-01 23:43:32] [FHEM]     Custom Power characteristic for Verbrauch_24h:Verbrauch_aktuell "


Nur wenn ich den Wert abfrage bekomme ich einen Fehler:

"[2017-01-01 23:45:37] [FHEM] Stromverbrauch_aktuell-Stromverbrauch_aktuell not a number:"

justme1968

zeig mal ein list vom device.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moontear

#1838
Das setzen von Temperaturen funktioniert wunderbar mit einem Homematic Thermostaten. Das umstellen des Heizungsmodus funktioniert nicht (Apple-Sprache Auto/Heizen/Kühlen/Aus).

Den CurrentHeatingCoolingState erkennt homebridge anscheinend (Heizung_Esszimmer_Modus ist ein Dummy Device nur für den Heizungsmodus):
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_Clima is thermostat
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_Clima has
[1/2/2017, 10:18:41 AM] [FHEM]   TargetTemperature [desired-temp]
[1/2/2017, 10:18:41 AM] [FHEM]   Custom Actuation [ValvePosition]
[1/2/2017, 10:18:41 AM] [FHEM]   CurrentTemperature [measured-temp]
[1/2/2017, 10:18:41 AM] [FHEM]   CurrentHeatingCoolingState [undefined]
  2017-01-02 10:18:41 caching: Heizung_Esszimmer_Clima-desired-temp: 22.0
[1/2/2017, 10:18:41 AM] [FHEM]     caching: TargetTemperature: 22 (as number; from '22.0')
  2017-01-02 10:18:41 caching: Heizung_Esszimmer_Clima-ValvePosition: 3
[1/2/2017, 10:18:41 AM] [FHEM]     caching: Custom Actuation: 3 (as number; from '3')
  2017-01-02 10:18:41 caching: Heizung_Esszimmer_Clima-measured-temp: 24.4
[1/2/2017, 10:18:41 AM] [FHEM]     caching: CurrentTemperature: 24.4 (as number; from '24.4')
[1/2/2017, 10:18:41 AM] [FHEM] default: 1
[1/2/2017, 10:18:41 AM] [FHEM]     caching: CurrentHeatingCoolingState: 1 (as number; means HEAT; from 'mapping.default')
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_ClimaTeam: no service type detected
[1/2/2017, 10:18:41 AM] [FHEM] no accessory created for Heizung_Esszimmer_ClimaTeam (CUL_HM)
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_Modus: no service type detected
[1/2/2017, 10:18:41 AM] [FHEM] no accessory created for Heizung_Esszimmer_Modus (readingsProxy)
[1/2/2017, 10:18:41 AM] [FHEM] mappings for Heizung_Esszimmer_Weather: { CurrentTemperature: { reading: 'measured-temp', minValue: -30 } }
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_Weather is thermometer
[1/2/2017, 10:18:41 AM] [FHEM] Heizung_Esszimmer_Weather has
[1/2/2017, 10:18:41 AM] [FHEM]   CurrentTemperature [measured-temp]
  2017-01-02 10:18:41 caching: Heizung_Esszimmer_Weather-measured-temp: 24.4
[1/2/2017, 10:18:41 AM] [FHEM]     caching: CurrentTemperature: 24.4 (as number; from '24.4')


Egal was ich in Eve / Homekit bezüglich "Heizen" anklicke (Aus/Heizen/Kühlen/Auto) im homebridge log steht nichts / es wird keine Aktion durchgeführt. Muss ich hier noch ein manuelles mapping vornehmen? Wenn ich Temperatur ändere steht es direkt im Log. Im OP steht dies:
TargetHeatingCoolingState=...,cmds=OFF:desired-temp+off;HEAT:controllMode+day;COOL:controllMode+night;AUTO:controllMode+auto

Muss ich das manuell definieren? Wie sieht die komplette Zeile aus in der fhem.config? Was kommt beim "..." hin? Gibt es eine funktionierende Config für den Heizungsmodus, die ich kopieren könnte - im Wiki leider nicht?

firstfacility


Channel c3ade9b0-03f3-11e6-a739-d54da8ec9c73
DEF 192.168.11.13 80 c3ade9b0-03f3-11e6-a739-d54da8ec9c73 average 60
Host 192.168.11.13
Host_Port 80
NAME Stromverbrauch_aktuell
NR 24
Reading average
STATE a: 433.443
TYPE VOLKSZAEHLER

AVERAGE 433.443 2017-01-02 10:29:22
CONSUMPTION 12 2017-01-02 10:29:22
FROM 2017-01-02 10:27:28
LAST 433.443 2017-01-02 10:29:08
MAX 433.44336641015 2017-01-02 10:29:08
MIN 433.44336641015 2017-01-02 10:29:08
TO 2017-01-02 10:29:08


Ich hoffe das bringt etwas Licht ins Dunkle

justme1968

das setzen des modes ist absichtlich nicht automatisch eingebaut weil es auf deutsche verhältnisse nicht so gut passt und es muss über homebridgeMapping manuell konfiguriert werden.

weiter oben im thread gibt es beispiele für die unterschiedlichen systeme.

du musst Current und Target mappen.

bei ... muss das reading hin in dem der aktuelle zustand steht.

inzwischen kann man über valid=... auch das COOL ausblenden wenn es die app unterstützt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moontear

Zitat von: justme1968 am 02 Januar 2017, 10:41:18
das setzen des modes ist absichtlich nicht automatisch eingebaut weil es auf deutsche verhältnisse nicht so gut passt und es muss über homebridgeMapping manuell konfiguriert werden.

Habe ich perfekte Settings gefunden, hier:
Zitat von: DeeSPe am 11 Oktober 2016, 14:40:44
attr TYPE=CUL_HM:FILTER=model=HM-CC-RT-DN:FILTER=chanNo=04 userReadings heatingState {(ReadingsVal($NAME,"ValvePosition",0) > 0 || ReadingsVal($NAME,"desired-temp","-") eq "on") ? "HEAT" : ReadingsVal($NAME,"desired-temp","-") eq "off" ? "OFF" : ReadingsVal($NAME,"controlMode","auto") eq "auto" ? "AUTO" : (ReadingsVal($NAME,"measured-temp",20) > ReadingsVal($NAME,"desired-temp",20)) ? "COOL" : "AUTO"}

attr TYPE=CUL_HM:FILTER=model=HM-CC-RT-DN:FILTER=chanNo=04 homebridgeMapping TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:controlMode+boost;;AUTO:controlMode+auto;;COOL:controlMode+night CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0
So in die fhem.cfg und alles funktioniert.

Zitatinzwischen kann man über valid=... auch das COOL ausblenden wenn es die app unterstützt.
Konnte ich kein Beispiel finden. Eve sollte das wahrscheinlich können und "Kühlen" ausblenden wäre wirklich sinnvoll weil eine Heizung ja schlecht kühlen kann... (Wieder mal so ein USA Ding wo jeder eine Klimanlage hat anstatt Heizung).
Wo kann ich valid=... eintragen und wie sieht das Format aus?

justme1968

versuch mal bei Target valid=OFF;HEAT;AUTO mit einzubauen. du brauchst aber die aktuellste homebridge version.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

moontear

Zitat von: justme1968 am 02 Januar 2017, 13:53:53
versuch mal bei Target valid=OFF;HEAT;AUTO mit einzubauen. du brauchst aber die aktuellste homebridge version.

Wow, funktioniert! Müssen zwei Semikolons sein, ganze Config ist dann so:
attr TYPE=CUL_HM:FILTER=model=HM-CC-RT-DN:FILTER=chanNo=04 homebridgeMapping TargetHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:3,cmds=OFF:controlManu+off;;HEAT:controlMode+boost;;AUTO:controlMode+auto;;COOL:controlMode+night,valid=OFF;;HEAT;;AUTO CurrentHeatingCoolingState=heatingState,values=OFF:0;;HEAT:1;;COOL:2;;AUTO:0

In der offiziellen Homekit App sehe ich jetzt nur noch "Aus, Warm & Automatisch". Eve (iOS) bekommt das leider nicht hin und zeigt noch "Aus, Heizen, Kühlen, Auto" an.

moppy

#1844
Liebe Leute,

darf ich nochmal auf meine Frage aufmerksam machen? Ich bekomm das Homebridge Mapping für meinen Dimmer nicht hin:

der Dimmer kann kein "dim 100" - ergo würde ich gerne das Mapping für 100% dimmen so einstellen, dass der Befehl "dim 99%" gesendet wird.

so sieht mein homebridgemapping derzeit aus

ZitatBrightness=state,cmd=dim On=state,valueOff=off,cmdOn=on,cmdOff=off,cmds=100:dim+99

die Homebridge Debug Konsole sendet aber weiterhin 100%

Zitat[1/2/2017, 6:57:43 PM] [FHEM] ZW_Sz_Dimmer-state valueOn/valueOff: value dim 63 mapped to 1
[1/2/2017, 6:57:43 PM] [FHEM]     caching: On: true (as boolean; from 'dim 63')
[1/2/2017, 6:57:43 PM] [FHEM]     caching: Brightness: 63 (as number; from 'dim 63')
[1/2/2017, 6:57:43 PM] [FHEM] ZW_Sz_Dimmer: executing set cmd for On with value 1
[1/2/2017, 6:57:43 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20ZW_Sz_Dimmer%20on&XHR=1
[1/2/2017, 6:57:43 PM] [FHEM] ZW_Sz_Dimmer delaying command Brightness with value 100
  2017-01-02 18:57:43 caching: ZW_Sz_Dimmer-state: on
[1/2/2017, 6:57:43 PM] [FHEM] ZW_Sz_Dimmer-state valueOn/valueOff: value on mapped to 1
[1/2/2017, 6:57:43 PM] [FHEM]     caching: On: true (as boolean; from 'on')
[1/2/2017, 6:57:43 PM] [FHEM]     caching: Brightness: 0 (as number; from 'on')
  2017-01-02 18:57:43 caching: ZW_Sz_Dimmer-state: dim 63
[1/2/2017, 6:57:43 PM] [FHEM] ZW_Sz_Dimmer-state valueOn/valueOff: value dim 63 mapped to 1
[1/2/2017, 6:57:43 PM] [FHEM]     caching: On: true (as boolean; from 'dim 63')
[1/2/2017, 6:57:43 PM] [FHEM]     caching: Brightness: 63 (as number; from 'dim 63')
[1/2/2017, 6:57:44 PM] [FHEM] ZW_Sz_Dimmer: executing set cmd for Brightness with value 100
[1/2/2017, 6:57:44 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20ZW_Sz_Dimmer%20dim%20100&XHR=1
  2017-01-02 18:57:44 caching: ZW_Sz_Dimmer-state: dim 100
[1/2/2017, 6:57:44 PM] [FHEM] ZW_Sz_Dimmer-state valueOn/valueOff: value dim 100 mapped to 1
[1/2/2017, 6:57:44 PM] [FHEM]     caching: On: true (as boolean; from 'dim 100')
[1/2/2017, 6:57:44 PM] [FHEM]     caching: Brightness: 100 (as number; from 'dim 100')

Auch in FHEM wird der Dimmer weiterhin auf 100% geregelt: Das heißt er bleibt auf dem zuletzt eingestellt werden (hier 63%) hängen.

Wo liegt mein Fehler?

Danke, Emanuel
Intel NUC7i5 - Proxmox
HP Microserver Gen8 3,3ghz Xeon
http://coldcorner.de