homebridge/homekit

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

Vorheriges Thema - Nächstes Thema

RaspiLED

Hi,
Du hattest gesagt, dass Du nicht weisst welche Config er lädt. Nun hast Du die Mittel zur Hand es  selber zu entscheiden. Ich kann Dir nicht sagen welche Du nutzen willst!
Die Frage ist: Welcher User soll am Ende starten (Rechte auf die Config erteilen) und wie (Automatisch per Daemon, aus FHEM oder per manuellem Start).
It is up to you ;-)
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

FHEm2005

So, jetzt bin ich weiter.

In FHEM habe ich mit define allowedWEB allowed für die Weboberfläche ein User und Passwort definiert. In der Weboberfläche selbst habe ich HTTPS aktiviert. Ich habe kein Zertifikat definiert.

Wenn ich in Putty vom User pi auf den User fhem wechsel und dann homebridge aufrufe läuft es. Mit User pi läuft es nicht.

pi@raspberrypi:~ $ sudo su - fhem
fhem@raspberrypi:~$ homebridge



Dabei hatte ich aus Versehen mit user fhem in dem Verzeichnis die config.json gelöscht.
pi@raspberrypi:~ $ sudo su - fhem
fhem@raspberrypi:~$ cd ~/.homebridge
fhem@raspberrypi:~/.homebridge$ dir
accessories  config.json  persist

Nachdem ich diese mit sudo nano config.json neu erstellt hatte lief es. Erst danach bin ich mit exit aus dem user fhem herausgegangen. Jetzt läuft es auch nach einem reboot. Allerdings scheint die Verbindung die normale Weboberfläche (jetzt mit User und Passwort) zu blockieren. Fehlermeldung: Verbindung unterbrochen. Die kann ich jedenfalls nicht mehr aufrufen. Wahrscheinlich hilft es eine exkusive Verbindung für die Hombridge vorzuhalten.

Vielleicht hilft es jemand anderem.

Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM

justme1968

homebridge braucht keine exklusive verbindung und kann auch fhemweb nicht blockieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

gent

Hallo Andre,

Zitat von: justme1968 am 26 April 2017, 20:01:24
es wird immer das config.json file aus dem homeverzeichnis des users verwendet der homebridge startet. je nach installation kann das bei automatischem start ein anderes sein wie beim start von hand.

am besten räumst du auf so das es nur eine version gibt.

Wenn bei mir

pi@fhem-pi3:/etc/init.d $ ps aux | grep homebridge
fhem      1877  0.0  3.2  87612 31192 ?        Sl   Apr26   0:01 homebridge             


Das ausgegeben wird, muss ich dann die config.json in das Userverzeichnis des Users fhem legen?

also in dem fall in


/opt/fhem/.hombedrige/config.json

?
Viele Grüße
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

avaris

huhu,

ich komme einfach nicht weiter. Ich habe jetzt mein Thermostat an fhem angeschlossen. In Homekit sehe ich auch die richtige Temperatur und kann die auch einstellen.
Das Problem ist, er übernimmt die steps nicht. Ich kann in der Home APP nur von 18-24 °C in ganzen Zahlen ändern. Aber ich kann nicht 18.5 usw einstellen.

Internals:
   DEF        0/2/52:dpt9:sollwert 0/2/53:dpt9:istwert
   DEVNAME    Chillroom.Heizung
   IODev      KNX
   KNX_MSGCNT 582
   KNX_RAWMSG C122cw02350c65
   KNX_TIME   2017-04-28 13:51:33
   LASTInputDev KNX
   MSGCNT     582
   NAME       Chillroom.Heizung
   NR         237
   NTFY_ORDER 50-Chillroom.Heizung
   STATE      Ist <b>22.50 °C</b> Soll: 21.50 °C
   TYPE       KNX
   Gaddr:
     1          0/2/52
     2          0/2/53
   Gcode:
     1          0234
     2          0235
   Model:
     1          dpt9
     2          dpt9
   Readings:
     2017-04-28 13:51:33   istwert-get     22.50
     2017-04-28 13:51:33   last-sender     1/2/44
     2017-04-28 13:47:55   sollwert-get    21.50
     2017-04-28 12:40:08   sollwert-set    21.50
     2017-04-28 13:51:33   state           22.50
     2017-04-28 13:51:33   temperature     22.50
   Readingsname:
     1          sollwert
     2          istwert
Attributes:
   IODev      KNX
   genericDeviceType thermostat
   homebridgeMapping CurrentTemperature=temperature  TargetTemperature=value::value,minValue=17.5,maxValue=24.5,minStep=0.5,nocache=1
   icon       temp_temperature
   room       Chillzimmer,Homekit
   slider     18.0,0.1,24.0,1
   stateFormat Ist <b>temperature °C</b> Soll: sollwert-get °C
   userReadings temperature { ReadingsVal($NAME,"istwert-get",0);; }


das log:

[2017-04-28 13:52:30] [FHEM] homebridgeMapping: CurrentTemperature=temperature  TargetTemperature=value::value,minValue=17.5,maxValue=24.5,minStep=0.5,nocache=1
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung is thermostat
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung has
[2017-04-28 13:52:30] [FHEM]   Hue [rgb;rgb;0-359]
[2017-04-28 13:52:30] [FHEM]   Saturation [rgb;rgb;0-100]
[2017-04-28 13:52:30] [FHEM]   Brightness [rgb]
[2017-04-28 13:52:30] [FHEM]   CurrentTemperature [temperature]
[2017-04-28 13:52:30] [FHEM]   CurrentHeatingCoolingState [undefined]
[2017-04-28 13:52:30] [FHEM]   TargetTemperature [value]
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '0' of undefined
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '1' of undefined
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
  2017-04-28 13:52:30 caching: Chillroom.Heizung-temperature: 22.48
[2017-04-28 13:52:30] [FHEM]     caching: CurrentTemperature: 22.48 (as number; from '22.48')
[2017-04-28 13:52:30] [FHEM]     caching: CurrentHeatingCoolingState: 1 (as number; means HEAT; from 'mapping.default')
[2017-04-28 13:52:30] [FHEM] homebridgeMapping: clear Brightness=state::dimmen-get,cmd=value,minValue=10,maxValue=100,minStep=10,nocache=1 On=state,cmdOn=AN,cmdOff=AUS,nocache=1

..........................................

  2017-04-28 13:52:48 caching: Chillroom.Heizung-temperature: 22.50
[2017-04-28 13:52:48] [FHEM]     caching: CurrentTemperature: 22.5 (as number; from '22.50')
[2017-04-28 13:53:58] [FHEM] query: CurrentTemperature for Chillroom.Heizung-temperature
[2017-04-28 13:53:58] [FHEM]   cached: 22.5 (as number')
[2017-04-28 13:53:58] [FHEM] query: CurrentHeatingCoolingState for Chillroom.Heizung-undefined
[2017-04-28 13:53:58] [FHEM]   cached: 1 (as number; means HEAT')
[2017-04-28 13:53:58] [FHEM] query: TargetTemperature for Chillroom.Heizung-value
[2017-04-28 13:53:58] [FHEM]   not cached
[2017-04-28 13:53:58] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BReadingsVal(%22Chillroom.Heizung%22,%22value%22,%22%22)%7D&fwcsrf=csrf_228018003083016&XHR=1
[2017-04-28 13:53:58] [FHEM]   value:
  2017-04-28 13:53:58 caching: Chillroom.Heizung-value:
[2017-04-28 13:53:58] [FHEM] Chillroom.Heizung-value not a number:
[2017-04-28 13:53:58] [FHEM] Chillroom.Heizung-value not a number:
[2017-04-28 13:54:02] [FHEM] Chillroom.Heizung: executing set cmd for TargetTemperature with value 18
[2017-04-28 13:54:02] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Chillroom.Heizung%20value%2018&fwcsrf=csrf_228018003083016&XHR=1
[2017-04-28 13:54:02] [FHEM] Chillroom.Heizung: executing set cmd for TargetTemperature with value 19
[2017-04-28 13:54:02] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Chillroom.Heizung%20value%2019&fwcsrf=csrf_228018003083016&XHR=1
  2017-04-28 13:54:03 caching: Chillroom.Heizung-temperature: 22.52
[2017-04-28 13:54:03] [FHEM]     caching: CurrentTemperature: 22.52 (as number; from '22.52')


Er sendet die Werte immer als Ganzzahlen und nicht in float :(

weiss jemand weiter?

Danke für die Hilfe!

Schönen Gruß
Avaris

DeeSPe

Zitat von: avaris am 28 April 2017, 13:55:50
huhu,

ich komme einfach nicht weiter. Ich habe jetzt mein Thermostat an fhem angeschlossen. In Homekit sehe ich auch die richtige Temperatur und kann die auch einstellen.
Das Problem ist, er übernimmt die steps nicht. Ich kann in der Home APP nur von 18-24 °C in ganzen Zahlen ändern. Aber ich kann nicht 18.5 usw einstellen.

Internals:
   DEF        0/2/52:dpt9:sollwert 0/2/53:dpt9:istwert
   DEVNAME    Chillroom.Heizung
   IODev      KNX
   KNX_MSGCNT 582
   KNX_RAWMSG C122cw02350c65
   KNX_TIME   2017-04-28 13:51:33
   LASTInputDev KNX
   MSGCNT     582
   NAME       Chillroom.Heizung
   NR         237
   NTFY_ORDER 50-Chillroom.Heizung
   STATE      Ist <b>22.50 °C</b> Soll: 21.50 °C
   TYPE       KNX
   Gaddr:
     1          0/2/52
     2          0/2/53
   Gcode:
     1          0234
     2          0235
   Model:
     1          dpt9
     2          dpt9
   Readings:
     2017-04-28 13:51:33   istwert-get     22.50
     2017-04-28 13:51:33   last-sender     1/2/44
     2017-04-28 13:47:55   sollwert-get    21.50
     2017-04-28 12:40:08   sollwert-set    21.50
     2017-04-28 13:51:33   state           22.50
     2017-04-28 13:51:33   temperature     22.50
   Readingsname:
     1          sollwert
     2          istwert
Attributes:
   IODev      KNX
   genericDeviceType thermostat
   homebridgeMapping CurrentTemperature=temperature  TargetTemperature=value::value,minValue=17.5,maxValue=24.5,minStep=0.5,nocache=1
   icon       temp_temperature
   room       Chillzimmer,Homekit
   slider     18.0,0.1,24.0,1
   stateFormat Ist <b>temperature °C</b> Soll: sollwert-get °C
   userReadings temperature { ReadingsVal($NAME,"istwert-get",0);; }


das log:

[2017-04-28 13:52:30] [FHEM] homebridgeMapping: CurrentTemperature=temperature  TargetTemperature=value::value,minValue=17.5,maxValue=24.5,minStep=0.5,nocache=1
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung is thermostat
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung has
[2017-04-28 13:52:30] [FHEM]   Hue [rgb;rgb;0-359]
[2017-04-28 13:52:30] [FHEM]   Saturation [rgb;rgb;0-100]
[2017-04-28 13:52:30] [FHEM]   Brightness [rgb]
[2017-04-28 13:52:30] [FHEM]   CurrentTemperature [temperature]
[2017-04-28 13:52:30] [FHEM]   CurrentHeatingCoolingState [undefined]
[2017-04-28 13:52:30] [FHEM]   TargetTemperature [value]
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '0' of undefined
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '1' of undefined
[2017-04-28 13:52:30] [FHEM] Chillroom.Heizung-rgb reading2homekit: TypeError: Cannot read property '2' of undefined
  2017-04-28 13:52:30 caching: Chillroom.Heizung-temperature: 22.48
[2017-04-28 13:52:30] [FHEM]     caching: CurrentTemperature: 22.48 (as number; from '22.48')
[2017-04-28 13:52:30] [FHEM]     caching: CurrentHeatingCoolingState: 1 (as number; means HEAT; from 'mapping.default')
[2017-04-28 13:52:30] [FHEM] homebridgeMapping: clear Brightness=state::dimmen-get,cmd=value,minValue=10,maxValue=100,minStep=10,nocache=1 On=state,cmdOn=AN,cmdOff=AUS,nocache=1

..........................................

  2017-04-28 13:52:48 caching: Chillroom.Heizung-temperature: 22.50
[2017-04-28 13:52:48] [FHEM]     caching: CurrentTemperature: 22.5 (as number; from '22.50')
[2017-04-28 13:53:58] [FHEM] query: CurrentTemperature for Chillroom.Heizung-temperature
[2017-04-28 13:53:58] [FHEM]   cached: 22.5 (as number')
[2017-04-28 13:53:58] [FHEM] query: CurrentHeatingCoolingState for Chillroom.Heizung-undefined
[2017-04-28 13:53:58] [FHEM]   cached: 1 (as number; means HEAT')
[2017-04-28 13:53:58] [FHEM] query: TargetTemperature for Chillroom.Heizung-value
[2017-04-28 13:53:58] [FHEM]   not cached
[2017-04-28 13:53:58] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BReadingsVal(%22Chillroom.Heizung%22,%22value%22,%22%22)%7D&fwcsrf=csrf_228018003083016&XHR=1
[2017-04-28 13:53:58] [FHEM]   value:
  2017-04-28 13:53:58 caching: Chillroom.Heizung-value:
[2017-04-28 13:53:58] [FHEM] Chillroom.Heizung-value not a number:
[2017-04-28 13:53:58] [FHEM] Chillroom.Heizung-value not a number:
[2017-04-28 13:54:02] [FHEM] Chillroom.Heizung: executing set cmd for TargetTemperature with value 18
[2017-04-28 13:54:02] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Chillroom.Heizung%20value%2018&fwcsrf=csrf_228018003083016&XHR=1
[2017-04-28 13:54:02] [FHEM] Chillroom.Heizung: executing set cmd for TargetTemperature with value 19
[2017-04-28 13:54:02] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Chillroom.Heizung%20value%2019&fwcsrf=csrf_228018003083016&XHR=1
  2017-04-28 13:54:03 caching: Chillroom.Heizung-temperature: 22.52
[2017-04-28 13:54:03] [FHEM]     caching: CurrentTemperature: 22.52 (as number; from '22.52')


Er sendet die Werte immer als Ganzzahlen und nicht in float :(

weiss jemand weiter?

Danke für die Hilfe!

Schönen Gruß
Avaris


Nimm statt der Home App lieber eine richtige App (Eve), die kann auch Kommastellen bei Temperaturen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

avaris

#2331
danke für den Tipp, bei Eve kann ich nun 18.5 setzen usw. aber die 18 oder 20 Werte schickt er auch wieder als ganzzahl und dann heißt es invalid value :(

Liegt es vielleicht daran, dass ich in ETS den Datentyp der Gruppenadresse als 9.001 Temperatur °C eingestellt habe? oder muss ich bei der DEF statt dpt9 irgendwas was anders nehmen?

bzw kann man nicht die Werte, die von homekit kommen, parsen, so dass ich ein float value erzwinge? (ich bin noch ein absoluter Neuling in dem fhem/homebridge Bereich und nach mehreren Tagen probieren, googlen, hänge ich an diesem einem Problem fest)

Danke nochmals!

DeeSPe

Zitat von: avaris am 28 April 2017, 14:38:53
danke für den Tipp, bei Eve kann ich nun 18.5 setzen usw. aber die 18 oder 20 Werte schickt er auch wieder als ganzzahl und dann heißt es invalid value :(

Liegt es vielleicht daran, dass ich in ETS den Datentyp der Gruppenadresse als 9.001 Temperatur °C eingestellt habe? oder muss ich bei der DEF statt dpt9 irgendwas was anders nehmen?

bzw kann man nicht die Werte, die von homekit kommen, parsen, so dass ich ein float value erzwinge? (ich bin noch ein absoluter Neuling in dem fhem/homebridge Bereich und nach mehreren Tagen probieren, googlen, hänge ich an diesem einem Problem fest)

Danke nochmals!

Keine Ahnung was ETS ist!
"invalid value" klingt nach einem nicht gut programmierten Modul.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

avaris

#2333
Ich habs jetzt nochmal getestet. Es geht schon direkt in FHEM nicht.

Das liegt an dem

DEF        0/2/52:dpt9:sollwert 0/2/53:dpt9:istwert

sobald man bei sollwert eine ganze Zahl eingibt, kommt der Fehler. Beispiel:

set Chillroom.Heizung value 23
invalid value: 23

set Chillroom.Heizung value 23.0
funktioniert

Was mache ich falsch? Es liegt daran dass ich dpt9 wähle, da akzeptiert fhem nur float werte.

(Mit ETS meine ich das hier: https://www.knx.org/lu-de/software/ets/ueber/index.php?navid=704726704726 )

Danke nochmals.

Grüße
Avaris

TWART016

Hi Arnd,

Zitat von: RaspiLED am 27 April 2017, 07:03:03
Die Frage ist: Welcher User soll am Ende starten (Rechte auf die Config erteilen) und wie (Automatisch per Daemon, aus FHEM oder per manuellem Start).
Ziel sollte es eigentlich, automatisch per Systemstart den Dienst mit zu starten. Also bei /etc/init.d/homebridge
Homebridge hat dort den User root. Braucht die config.json dann auch den Besitzer root?

Zudem sollte der Dienst aber auch manuell gestoppt und gestartet werden.


Gruß
TWART016

RaspiLED

Ja dann sollte root (und nur root) die rechte auf der Datei haben (zumal da auch die Passwörter für FHEM drin sind ;-)

Der normale user kann später per
sudo service homebridge status/start oder stop
Kontrollieren/starten oder anhalten.
Gruß Arnd


Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

justme1968

auf homebridge seite kannst du das float format nicht erzwingen.

aber du kannst mit cmdalias das set kommando so umbiegen das aus dem int das homebridge schickt wieder ein float gemacht wird.

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

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

TWART016

Zitat von: RaspiLED am 29 April 2017, 19:12:06
Ja dann sollte root (und nur root) die rechte auf der Datei haben (zumal da auch die Passwörter für FHEM drin sind ;-)
Muss ich dann im Startskript auch den root angeben?
su - root -c "homebridge > /dev/null 2>&1 &"

Wenn ja, muss die Berechtigung von
user       1344  0.0  0.0  15796   972 pts/0    S+   19:31   0:00 grep --color=auto homebridge
auch umgestellt werden?

xxAvarlonxx

Hallo zusammen,

ich habe mal eine prinzipielle Vorgehensfrage bei der Homebridge mit Hue-Devices.
Setup: Ich habe 3 Lightify RGB GU10 im Wohnzimmer an der Decke eingebaut. Mit dem Lightify Modul die Devices auch angelegt und Steuerung direkt in FHEM klappt auch super. Darüberhinaus hat mir das Lightify Modul schon eine HueGroup für die 3 Birnen angelegt, um die 3 Birnen synchron und einheitlich zu schalten.

Jetzt möchte ich die ganze Konstellation auch in Homekit haben.
Folgendes möchte ich in Homekit haben:

1. Eine Kachel für HueGroup, über welche ich die Gruppe ein und ausschalten, die Helligkeit und den RGB Wert ändern kann. Darüberhinaus soll mir in Homekit auch der aktuelle Status der Gruppe (Ob ein oder ausgeschaltet + aktuelle Helligkeit) angezeigt werden.

2. Darüberhinaus möchte ich für jede einzelne der 3 Birnen eine Kachel in Homekit haben, um jede Birne auch seperat ändern zu können + Rückmeldung des Status der Birne

Punkt 2 ist soweit gar kein Problem, weil die Homebridge das Mapping schon selber korrekt anlegt

Für Punkt1 habe ich gar keine Idee bisher wie ich das lösen soll. Das Hauptproblem ist, dass die HueGroup selber keine Readings über den Status der Birnen führt wie z.b. Hue, RGB, PCT, ONOFF. Was ja auch logisch ist, weil woher sollten die Werte auch kommen.
Deswegen sagt Homekit bei der Gruppe auch "Keine Antwort" wenn man ihm die HueGroup zuordnet. Ergo HomebridgeMapping selber setzen. Aber genau da liegt das Problem. Wie baut man das MApping auf, weil man hat bei jeder Characterics das Problem, dass die CMDs an die HueGroup gesendet werden muss, aber die Status-Rückgabe der Gruppe z.b. aus der 1. Birne der Gruppe kommt.

Und genau da wollte ich mal fragen, wie ihr das so gelöst habt dieses Problem bzw. hat jemand für FHEM oder Homebridgemapping eine Idee wie man das Szenario hinbekommt.

Tedious

Gruppen funktionieren bei mir auch nicht. Nimm einfach die drei Lampen in ein Seznario in der Home-App, so hab ich das gelöst.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...