HomebridgeMapping korrekt aufbauen

Begonnen von flipse, 11 Januar 2019, 20:23:58

Vorheriges Thema - Nächstes Thema

flipse

Hallo zusammen,
einfachere Mappings habe ich bereits hinbekommen, aber dieses verstehe ich nicht so ganz.
Ich möchte gerne meine Gartenbewässerung "smart" machen ;)

1) Schalter für die Aktivierung der Pumpe in FHEM --> in HomeKit --> Switch On/Off
2) Überprüfen, ob die Pumpe gerade pumpt in FHEM --> in HomeKit --> Wenn die Pumpe Strom verbraucht

Ich habe einen Fibaro Switch an der Pumpe.
Die Pumpe startet automatisch, sobald Wasser an einer Zapfstelle gezapft wird.


Ich glaube für HomeKit eignet sich da am Besten der Service "VALVE".

/**
* Service "Valve"
*/

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);
};

inherits(Service.Valve, Service);

Service.Valve.UUID = '000000D0-0000-1000-8000-0026BB765291';


Ich habe nun einen Dummy angelegt und möchte einfach nur testen, ob die Stati korrekt übermittelt werden können mit diesem Service.

Ich dachte also ich kann das Mapping erstmal statisch aufbauen:

ValveType=IRRIGATION\
InUse=IN_USE\
Active=ACTIVE


Das funktioniert leider nicht. Ich habe scheinbar die korrekte Syntax noch nicht verstanden. Könnt ihr mir helfen?

Vielen Dank

flipse

Kann gelöscht werden.

Konstante Werte im Homebridgemapping scheinen nicht zu klappen

clear
Active=state,cmds=ACTIVE:on;INACTIVE:off,values=on:ACTIVE;off:INACTIVE
ValveType=valveType
InUse=inUse,values=true:IN_USE;false:NOT_IN_USE


damit hat es funktioniert