Hi,
ich hoffe, dass mir jemand von den homebridge Experten helfen kann, meine Gartenbewässerung schönes in Homekit abzubilden (momentan habe ich nur einen simplen switch).
Es wird anscheinend ein genericDeviceType "Valve" unterstützt.
Service "Valve" -> All in one Service (use this one and set the Characteristic.ValveType to the appropriate value)
*/
Service.Valve = function(displayName, subtype) {
Service.call(this, displayName, '000000D0-0000-1000-8000-0026BB765291', subtype);
// Required Characteristics
this.addCharacteristic(Characteristic.Active);
this.addCharacteristic(Characteristic.InUse);
this.addCharacteristic(Characteristic.ValveType);
// Optional Characteristics
this.addOptionalCharacteristic(Characteristic.SetDuration);
this.addOptionalCharacteristic(Characteristic.RemainingDuration);
this.addOptionalCharacteristic(Characteristic.IsConfigured);
this.addOptionalCharacteristic(Characteristic.ServiceLabelIndex);
this.addOptionalCharacteristic(Characteristic.StatusFault);
this.addOptionalCharacteristic(Characteristic.Name);
};
Zitatwith ValveType=0 you get the faucet icon
with ValveType=1 you get the sprinkler icon
ZitatA short summary for Active / InUse - Logic:
Active=0, InUse=0 -> Off
Active=1, InUse=0 -> Waiting [Starting, Activated but no water flowing (yet)]
Active=1, InUse=1 -> Running
Active=0, InUse=1 -> Stopping
Ich habe insgesamt 4 Wasserkreise/Magnetventile auf FHEM Seite.
Ich würde gerne erreichen, dass in Homekit ein Gerät angezeigt wird, welches darstellt, dass mindestens 1 Ventil geöffnet ist und in der Detailansicht, welches Ventil wie lange schon geöffnet ist bzw. schon offen ist (Daten auf FHEM Seite vorhanden, ich bekomme leider das homebridgeMapping nicht hin).
Hat das jemand von euch schon realisiert?
Danke und Gruss
kalle
So, nach einiger Frickelei habe ich zumindest ein Device in Homekit. Allerdings schnalle ich die Syntax mit den SubTypes (hier 4 Schaltkreise) noch nicht
kannst du deine Konfiguration mal zeigen ?
Und wie hast du das mit der Zeit gemacht ?
Würde mich auch interessieren.
Ich bekomme weder eine richtige Darstellung, noch die Ansteuerung mit den Mappings hin.
für einen hm Autor schaut es etwa so aus:
attr <name> genericDeviceType Valve
attr <name> homebridgeMapping clear Active=state,values=off:INACTIVE;/.*/:ACTIVE,cmds=ACTIVE:on;INACTIVE:off InUse=state,values=off:0;/.*/:1,readOnly=1 ValveType=type,default=IRRIGATION
ps: der thread hier ist im falschen bereich. bitte verschieben.
Ein Standart Mapping hab ich hinbekommen. So wechselt der Status des Buttons beim klicken, wenn die Rückmeldung "on " kommt von AUS --} Läuft und beim ausschalten von Stoppt --} Aus
Was mir fehlt ist das man ein Zeit einstellen kann nachdem das Ventil automatisch ausgeht.
Das mit dem ValveType hat sich geklärt, da es zwar 4 Typen gibt, GENERIC_VALVE, IRRIGATION, SHOWER_HEAD, WATER_FAUCET jedoch nur IRRIGATION und WATER_FAUCET in Home dargestellt werden. Alles andere wird dann nur in EVE oder ähnlichem angezeigt.
hier mein Mapping
Active:state,values=off:INACTIVE;on:INUSE,cmds=ACTIVE:on;INACTIVE:off
InUse:state,values=off:NOT_IN_USE;on:IN_USE
ValveType=type,default=IRRIGATION
Krass. Wie soll man bei ValveType da drauf kommen?
Vielen Dank
Gibt viele Typen die zwar in der Schnittstelle von HomeKit sind, jedoch in der App dann nicht angezeigt werde.
Hast du mal was mit der Zeit für das Ventil probiert ?
Zitat von: PatBreitMe am 29 Juni 2019, 15:42:33
kannst du deine Konfiguration mal zeigen ?
Und wie hast du das mit der Zeit gemacht ?
Habe mir einen Dummy in FHEM vom Typ "Valve" angelegt und verwende folgendes homebridge mapping (für 4 Wasserkreise):
clear Active=state,values=off:0;on:1,readOnly=1,nocache=1,subtype=K1 InUse=InUseK1,values=off:0;on:1,readOnly=1,nocache=1,subtype=K1 ValveType=type,default=IRRIGATION,subtype=K1 Name=nameK1,subtype=K1
Active=state,values=off:0;on:1,readOnly=1,nocache=1,subtype=K2 InUse=InUseK2,values=off:0;on:1,readOnly=1,nocache=1,subtype=K2 ValveType=type,default=IRRIGATION,subtype=K2 Name=nameK2,subtype=K2
Active=state,values=off:0;on:1,readOnly=1,nocache=1,subtype=K3 InUse=InUseK3,values=off:0;on:1,readOnly=1,nocache=1,subtype=K3 ValveType=type,default=IRRIGATION,subtype=K3 Name=nameK3,subtype=K3
Active=state,values=off:0;on:1,readOnly=1,nocache=1,subtype=K4 InUse=InUseK4,values=off:0;on:1,readOnly=1,nocache=1,subtype=K4 ValveType=type,default=IRRIGATION,subtype=K4 Name=nameK4,subtype=K4
Active wird auf "Dummyebene" für alle 4 Kreise gleich gelesen. Bewaesserung schalte ich nicht über Homekit (daher readOnly=1), will mir nur den aktuellen Status anzeigen lassen. Die Werte für InUse hole ich mir per Userreading aus den KNX-Devices des Schaltaktors.
Zeit: das müsste ich mir mal anschauen. Die Kanäle werden in FHEM per "on-for-timer" geöffnet. Wenn es eine Möglichkeit gibt, die Restzeit auszulesen, könnte man das sicherlich noch ins Homebridge mapping packen.
Hallo zusammen,
wie kann ich einen Status aus einem anderen Device in Homebridgemapping nutzen?
clear
Active=state,values=on:ACTIVE;off:INACTIVE,cmds=ACTIVE:on;;INACTIVE:off,nocache=1
InUse=ZWave_SW_Zisterne_Garten:inUse,values=true:IN_USE;;false:NOT_IN_USE,nocache=1,readOnly=1
ValveType=valveType,values=IRRIGATION:IRRIGATION;WATER_FAUCET:WATER_FAUCET,default=IRRIGATION
Mein InUse Status soll sich aus dem Reading "inUse" aus dem Device "ZWave_SW_Zisterne_Garten" ziehen.
Wie sieht die Syntax dafür aus?
Vielen Dank für Eure Hilfe
Hallo,
mit dem Mapping von justtme1968 sieht es schon ziemlich gut aus, nur bekomme ich immer noch einen Switch, was mache ich falsch?
attr <name> genericDeviceType Valve
attr <name> homebridgeMapping clear Active=state,values=off:INACTIVE;/.*/:ACTIVE,cmds=ACTIVE:on;INACTIVE:off InUse=state,values=off:0;/.*/:1,readOnly=1 ValveType=type,default=IRRIGATION
Danke Christian
was genau heisst du bekommst einen switch ?
Hi,
Auszug aus dem Log:
[2019-9-8 16:22:45] [FHEM] homebridgeMapping: clear
Active=state,values=off:INACTIVE;/.*/:ACTIVE,cmds=ACTIVE:on;INACTIVE:off InUse=state,values=off:0;/.*/:1,readOnly=1 ValveType=type,default=IRRIGATION
WaterLevel=Teich_Level:state
[2019-9-8 16:22:45] [FHEM] mappings for Teich: { Active:
{ reading: 'state',
values: [ 'off:INACTIVE', '/.*/:ACTIVE' ],
cmds: [ 'ACTIVE:on', 'INACTIVE:off' ] },
InUse:
{ reading: 'state',
values: [ 'off:0', '/.*/:1' ],
readOnly: '1' },
ValveType: { reading: 'type', default: 'IRRIGATION' },
WaterLevel: { reading: 'state', device: 'Teich_Level' } }
[2019-9-8 16:22:45] [FHEM] Teich is Valve
[2019-9-8 16:22:45] [FHEM] Teich has
[2019-9-8 16:22:45] [FHEM] Active [state]
[2019-9-8 16:22:45] [FHEM] InUse [state]
[2019-9-8 16:22:45] [FHEM] ValveType [type]
[2019-9-8 16:22:45] [FHEM] WaterLevel [Teich_Level.state]
[2019-9-8 16:22:45] [FHEM] value2homekit_re: [ { re: '.*', to: 1 } ]
[2019-9-8 16:22:45] [FHEM] value2homekit: { off: 0 }
[2019-9-8 16:22:45] [FHEM] homekit2name: { '0': 'INACTIVE', '1': 'ACTIVE' }
[2019-9-8 16:22:45] [FHEM] homekit2cmd: { '0': 'off', '1': 'on' }
2019-09-08 16:22:45 caching: Teich-state: off
[2019-9-8 16:22:45] [FHEM] Teich-state values: value off mapped to 0
[2019-9-8 16:22:45] [FHEM] caching: Active: 0 (as number; means INACTIVE; from 'off')
[2019-9-8 16:22:45] [FHEM] value2homekit_re: [ { re: '.*', to: '1' } ]
[2019-9-8 16:22:45] [FHEM] value2homekit: { off: '0' }
[2019-9-8 16:22:45] [FHEM] default: IRRIGATION
[2019-9-8 16:22:45] [FHEM] query: WaterLevel for Teich_Level-state
[2019-9-8 16:22:45] [FHEM] not cached
[2019-9-8 16:22:45] [FHEM] executing: https://192.168.178.83:8083/fhem?cmd=%7BReadingsVal(%22Teich_Level%22,%22state%22,%22%22)%7D&XHR=1
Zweiter Teil, hier wird der Switch-Service initialisiert:
[2019-9-8 16:22:47] [FHEM] Initializing platform accessory 'Teich'...
[2019-9-8 16:22:47] [FHEM] creating services for Teich
[2019-9-8 16:22:47] [FHEM] information service for Teich
[2019-9-8 16:22:47] [FHEM] manufacturer, model and serial number characteristics for Teich
[2019-9-8 16:22:47] [FHEM] switch service for Teich (undefined)
[2019-9-8 16:22:47] [FHEM] Active characteristic for Teich:state
[2019-9-8 16:22:47] [FHEM] initial value is: 0 (number; means INACTIVE)
[2019-9-8 16:22:47] [FHEM] props: { format: 'uint8',
unit: null,
minValue: 0,
maxValue: 1,
minStep: null,
perms: [ 'pr', 'pw', 'ev' ],
validValues: [ 0, 1 ] }
[2019-9-8 16:22:47] [FHEM] WaterLevel characteristic for Teich_Level:state
[2019-9-8 16:22:47] [FHEM] no default
[2019-9-8 16:22:47] [FHEM] props: { format: 'float',
unit: null,
minValue: 0,
maxValue: 100,
minStep: null,
perms: [ 'pr', 'ev' ] }
Und man sieht es dann auch schön in EVE, siehe Bild.
Danke Christian
zeig mal bitte ein list vom device.
welche homebridge-fhem version ist das ?
Hi,
ist wohl schon was älter, 0.2.66
Internals:
DEF 38AE8804
FUUID 5c94b452-f33f-8d80-b13c-c21351893c107eb9
NAME Teich
NOTIFYDEV global
NR 294
NTFY_ORDER 50-Teich
STATE off
TYPE CUL_HM
chanNo 04
device HM_38AE88
READINGS:
2019-09-08 16:38:01 CommandAccepted yes
2016-07-03 17:36:21 R-sign off
2019-06-23 18:31:18 RegL_01. 00:00 08:00
2019-09-08 16:38:01 deviceMsg off (to chrisVCCU)
2019-09-08 16:38:01 level 0
2019-09-08 16:38:01 pct 0
2019-09-08 16:38:01 recentStateType ack
2019-09-08 16:38:01 state off
2019-09-08 16:38:01 timedOn off
2019-09-08 16:38:01 trigLast fhem:02
helper:
dlvlCmd ++A01126ED2638AE880204000000
peerFriend peerSens,peerVirt
peerOpt 3:switch
regLst 1,3p
expert:
def 1
det 0
raw 1
tpl 0
role:
chn 1
Attributes:
genericDeviceType Valve
group Teich,Ventil
homebridgeMapping clear
Active=state,values=off:INACTIVE;/.*/:ACTIVE,cmds=ACTIVE:on;INACTIVE:off InUse=state,values=off:0;/.*/:1,readOnly=1 ValveType=type,default=IRRIGATION
WaterLevel=Teich_Level:state
model HM-LC-SW4-BA-PCB
peerIDs 00000000,
room Garten,homekit
webCmd on:off
Ciao Christian
wenn homebridge selber auch so alt ist war Valve vermutlich noch nicht bekannt. ich denke ein update sollte helfen. achtung: es kann sein das sich einmalig ein paar device ids ändern und du dafür die räume in homekit neu zuordnen musst.
Hi,
ok, danke Dir, werde ich probieren.
Ciao Christian
Hi,
das war es. Allerdings war es ein wenig Arbeit, die Umgebung war so outdated, dass ich alles neu machen musste.
Musste ich sowieso w/ Fakegato. Das tut jetzt auch sagen wir etwas, Temperatur-Sensoren gerade gar nicht, Kontakt schon. Ist off-topic, aber Hinweis wäre cool.
Danke, Christian
das liegt an eve bzw. einigen umstellung dort. im anderen thread hatte ich einen link zum entsprechenden fakegato issue bei github gepostet. sobald ich dazu komme schaue ich was sich von homebridge-fhem seite ewas tun lässt. und ob überhaupt.
Ok, vielen lieben Dank noch mal!
Ciao Christian
Hi, mapping von Justme funktioniert prima! Gibt es eine Moeglichkeit, die Timerfunktion in Homekit zu aktivieren? Habe gesehen, dass bei den Elgato-Devices, die nativ Homekit unterstuetzen, eine Timer-Funktion in Homekit unterhalb des Schalters erscheint.. das waere praktisch, wenn es mit Homebridge auch aktivierbar waere ..
viele Gruesse, Texel