Adapter: fritzdect

Wie man einen Adapter entwickelt, oder wie man debuggen kann.
foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 11.01.2018, 21:45

der_Auge hat geschrieben:Wir müssen dann nur die alten Datenpunkte löschen um die neuen anlegen zu lassen?
Was ist mit aufgezeichneten Daten (von Temperaturen) ?

Gruß
Jürgen
Die Datenpunkte sind nach löschen des Adapters ohnehin schon gelöscht.
Bei den aufgezeichneten Temperaturen sieht es denke ich anders aus.
Bei der Ablage in tägliche Dateien müssten diese umbenannt werden, um in einem gemeinsamen trend sichtbar zu sein.
Wenn es in MySQL abgespeichert ist, müsste wahrscheinlich in einer Tabelle etwas umgebogen werden oder die History-Daten in die neue Ablage dazugemergt werden. Hab bisher MySQL nicht benutzt.
Verloren sollten die Altdaten auf jeden Fall nicht sein, nur nicht direkt zugreifbar.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Benutzeravatar
uwered
starter
Beiträge: 38
Registriert: 27.09.2017, 17:37

Re: Adapter: fritzdect

Beitrag von uwered » 13.01.2018, 16:38

Hallo Klaus.

Mir ist was an der Temperaturausgabe der Steckdosen (Dect200) aufgefallen.
Da wird scheinbar der Offsetwert doppelt abgezogen !?
Beispiel :
In der FB am Aktor gemessen 17°, Raumtemp. 17° >> Offset = 0° >> Ausgabe 17°

am Aktor gemessen 17°, Raumtemp. 16,5° >> Offset = 0,5° >> Ausgabe 16°

am Aktor gemessen 17°, Raumtemp. 16,0° >> Offset = 1° >> Ausgabe 15°

Gruss,
Uwe

P.S. Am Dect-Repeater derselbe Effekt, die Heizkörperregler scheinen aber nicht betroffen .

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 14.01.2018, 18:06

uwered hat geschrieben:Hallo Klaus.

Mir ist was an der Temperaturausgabe der Steckdosen (Dect200) aufgefallen.
Da wird scheinbar der Offsetwert doppelt abgezogen !?
Beispiel :
In der FB am Aktor gemessen 17°, Raumtemp. 17° >> Offset = 0° >> Ausgabe 17°

am Aktor gemessen 17°, Raumtemp. 16,5° >> Offset = 0,5° >> Ausgabe 16°

am Aktor gemessen 17°, Raumtemp. 16,0° >> Offset = 1° >> Ausgabe 15°

Gruss,
Uwe

P.S. Am Dect-Repeater derselbe Effekt, die Heizkörperregler scheinen aber nicht betroffen .
Danke für die Rückmeldung. Ich werde es mir anschauen und evtl. darf ich nur nicht den Offset mit berücksichtigen, der Bestandteil des Telegrams ist.
Bei den Thermostaten läuft der Aufruf über eine andere Funktion, daher der Unterschied.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 14.01.2018, 19:51

foxthefox hat geschrieben:
uwered hat geschrieben:Hallo Klaus.

Mir ist was an der Temperaturausgabe der Steckdosen (Dect200) aufgefallen.
Da wird scheinbar der Offsetwert doppelt abgezogen !?
Beispiel :
In der FB am Aktor gemessen 17°, Raumtemp. 17° >> Offset = 0° >> Ausgabe 17°

am Aktor gemessen 17°, Raumtemp. 16,5° >> Offset = 0,5° >> Ausgabe 16°

am Aktor gemessen 17°, Raumtemp. 16,0° >> Offset = 1° >> Ausgabe 15°

Gruss,
Uwe

P.S. Am Dect-Repeater derselbe Effekt, die Heizkörperregler scheinen aber nicht betroffen .
Danke für die Rückmeldung. Ich werde es mir anschauen und evtl. darf ich nur nicht den Offset mit berücksichtigen, der Bestandteil des Telegrams ist.
Bei den Thermostaten läuft der Aufruf über eine andere Funktion, daher der Unterschied.

Gruß
Klaus
So, habs verbessert, mit der Version 0.14 (npm und github).
Die korrigierte Temperatur wird schon in dem json-array übergeben und braucht nicht nochmal mit dem mitgelieferten Offset addiert werden.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Benutzeravatar
uwered
starter
Beiträge: 38
Registriert: 27.09.2017, 17:37

Re: Adapter: fritzdect

Beitrag von uwered » 15.01.2018, 05:02

foxthefox hat geschrieben: So, habs verbessert, mit der Version 0.14 (npm und github).
Die korrigierte Temperatur wird schon in dem json-array übergeben und braucht nicht nochmal mit dem mitgelieferten Offset addiert werden.
Gruß
Klaus
Danke Dir.
Jetzt passt es.
Gruß,
Uwe

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 18.01.2018, 19:06

Hallo,

habe massiv den Code umgestellt und mich an die Implementierung der Gruppen gemacht.
Da ich nun die Daten komplett verarbeite, gibt es jetzt auch mehr Datenpunkte als vorher und es werden auch nur die Datenpunkte aufgemacht, die auch wirklich vorhanden sind. Zumindest hoffe ich die Variationen der Firmwareversionen anhand der Rückmeldungen aus dem Forum erwischt zu haben.

Das es eine so umfassende Änderung ist hab ich die Version 0.1.0 genannt.
Vorerst sind die Datenpunkte noch kompatibel zur vorigen Version. Der mode ist auch noch als 0/1/2 hinterlegt.

Sie liegt wie immer auf github.

Bitte testen (hab ja keine Thermostate :( )

Freue mich auf positive Rückmeldungen oder auch die aufgetretenen Problemchen.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Benutzeravatar
uwered
starter
Beiträge: 38
Registriert: 27.09.2017, 17:37

Re: Adapter: fritzdect

Beitrag von uwered » 19.01.2018, 07:40

foxthefox hat geschrieben: Freue mich auf positive Rückmeldungen oder auch die aufgetretenen Problemchen.

Gruß
Klaus
Moin Klaus.
Die Leistungsaufnahme ( value.power ) bei den Steckdosen ist um den Faktor 1000 zu groß gewertet ...

Ansonsten soweit alles ok.

Gruß, Uwe

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 19.01.2018, 07:49

uwered hat geschrieben: Moin Klaus.
Die Leistungsaufnahme ( value.power ) bei den Steckdosen ist um den Faktor 1000 zu groß gewertet ...

Ansonsten soweit alles ok.

Gruß, Uwe
Danke für die Meldung, habs geschwind korrigiert.
Schon die Gruppenschaltung probiert?

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Benutzeravatar
uwered
starter
Beiträge: 38
Registriert: 27.09.2017, 17:37

Re: Adapter: fritzdect

Beitrag von uwered » 19.01.2018, 08:17

foxthefox hat geschrieben:
uwered hat geschrieben: Moin Klaus.
Die Leistungsaufnahme ( value.power ) bei den Steckdosen ist um den Faktor 1000 zu groß gewertet ...

Ansonsten soweit alles ok.

Gruß, Uwe
Danke für die Meldung, habs geschwind korrigiert.
Schon die Gruppenschaltung probiert?

Gruß
Klaus
Hallo Klaus.
Danke, aber das hat keine Veränderung bei value.power gebracht, hier wird meine LED immer noch mit 6200 W statt 6,2 angezeigt.

Die Schaltergruppen (Sgroup) lassen sich prima über "state" schalten,
die Thermogruppen (Hgroup) über "targettemp" auf eine Zieltemp. einstellen . Klappt also.

Bei der HGroup ist die Memberliste im Gegensatz zur SGroup leer ....

Gruss

Benutzeravatar
uwered
starter
Beiträge: 38
Registriert: 27.09.2017, 17:37

Re: Adapter: fritzdect

Beitrag von uwered » 19.01.2018, 10:37

Hallo Klaus ....
Ich habe mal den ganzen Objekte-Baum gelöscht und neu geladen ....

Die Steckdosen DECT200 werden jetzt einwandfrei ausgewertet und sind schaltbar.
Dect100 Repeater auch einwandfrei.
Die Kontakt-Aktoren auch alles ok.

Aber die Thermostate hat es zerlegt !
Da wird fast garnichts ausgelesen, ich häng mal nen Bild dran ....

Gruss, Uwe
Dateianhänge
Clipboard01.jpg

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 19.01.2018, 21:55

uwered hat geschrieben:Hallo Klaus ....
Ich habe mal den ganzen Objekte-Baum gelöscht und neu geladen ....

Die Steckdosen DECT200 werden jetzt einwandfrei ausgewertet und sind schaltbar.
Dect100 Repeater auch einwandfrei.
Die Kontakt-Aktoren auch alles ok.

Aber die Thermostate hat es zerlegt !
Da wird fast garnichts ausgelesen, ich häng mal nen Bild dran ....

Gruss, Uwe
Hallo Uwe,

Danke für die Rückmeldung.
ich hoffe ich habe jetzt alles erwischt, was noch nicht so richtig drin war.
-> neue Version auf github :)
Hatte auch ohne Löschung der Instanz recht komisches Verhalten beobachtet.

Ich warte mal mit weiteren strukturellen Änderungen (Namensgebung, Thermostat-Modi) auf weitere Rückmeldungen.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: Adapter: fritzdect

Beitrag von aldoa1 » 20.01.2018, 09:25

Bei mir wird jetzt nicht mehr das Comet Thermostat und ein 546e gefunden. Nur noch ein 546e ist in der Liste.
Habe auch noch mal den Adapter deinstalliert und die Objekte gelöscht. Nach Neuinstallation noch immer das gleiche Problem.

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Adapter: fritzdect

Beitrag von foxthefox » 20.01.2018, 09:39

aldoa1 hat geschrieben:Bei mir wird jetzt nicht mehr das Comet Thermostat und ein 546e gefunden. Nur noch ein 546e ist in der Liste.
Habe auch noch mal den Adapter deinstalliert und die Objekte gelöscht. Nach Neuinstallation noch immer das gleiche Problem.
Könntest du bitte folgendes tun:

- ein Terminal Fenster öffnen
- in das Verzeichnis iobroker/node_modules/iobroker.fritzdect/node_modules/fritzapi gehen
- node example -u deinusername -p deinpasswort aufrufen
- den Output bräuchte ich dann

Irgendwas scheint bei der Antwort der fritzbox anders zu sein, bzw genaugenommen die functionbitmask und die datenpunkte.

Das log in den debug Modus schalten und evtl Posten, könnte mir auch helfen.

Welche FritzOS Version und Modell hast du?

Gruß
Klaus


Gesendet von iPhone mit Tapatalk
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: Adapter: fritzdect

Beitrag von aldoa1 » 20.01.2018, 11:15

foxthefox hat geschrieben:
aldoa1 hat geschrieben:Bei mir wird jetzt nicht mehr das Comet Thermostat und ein 546e gefunden. Nur noch ein 546e ist in der Liste.
Habe auch noch mal den Adapter deinstalliert und die Objekte gelöscht. Nach Neuinstallation noch immer das gleiche Problem.
Könntest du bitte folgendes tun:

- ein Terminal Fenster öffnen
- in das Verzeichnis iobroker/node_modules/iobroker.fritzdect/node_modules/fritzapi gehen
- node example -u deinusername -p deinpasswort aufrufen
- den Output bräuchte ich dann

Irgendwas scheint bei der Antwort der fritzbox anders zu sein, bzw genaugenommen die functionbitmask und die datenpunkte.

Das log in den debug Modus schalten und evtl Posten, könnte mir auch helfen.

Welche FritzOS Version und Modell hast du?

Gruß
Klaus


Gesendet von iPhone mit Tapatalk
Ich habe die 7580 mit FRITZ!OS: 06.92

Hier der Output (es werden da die Geräte gezeigt):

Code: Alles auswählen

Switches: 34:31:C4:D8:62:8D,34:31:C4:D8:6C:53

[34:31:C4:D8:62:8D] FRITZ!Powerline Türstation
[34:31:C4:D8:62:8D] presence: true
[34:31:C4:D8:62:8D] state: true
[34:31:C4:D8:62:8D] temp: -

[34:31:C4:D8:6C:53] FRITZ!Powerline Schlafzimmer
[34:31:C4:D8:6C:53] presence: true
[34:31:C4:D8:6C:53] state: false
[34:31:C4:D8:6C:53] temp: -

Thermostats: 119600643920

[119600643920] Comet DECT Wohnzimmer
[119600643920] temp 20°C°C
[119600643920] target temp 21°C°C

Raw devices

[ { identifier: '34:31:C4:D8:62:8D',
    id: '20000',
    functionbitmask: '640',
    fwversion: '06.92',
    manufacturer: 'AVM',
    productname: 'FRITZ!Powerline 546E',
    present: '1',
    name: 'FRITZ!Powerline Türstation',
    switch: { state: '1', mode: 'manuell', lock: '0', devicelock: '0' },
    powermeter: { power: '4220', energy: '2038' } },
  { identifier: '34:31:C4:D8:6C:53',
    id: '20001',
    functionbitmask: '640',
    fwversion: '06.92',
    manufacturer: 'AVM',
    productname: 'FRITZ!Powerline 546E',
    present: '1',
    name: 'FRITZ!Powerline Schlafzimmer',
    switch: { state: '0', mode: 'manuell', lock: '0', devicelock: '0' },
    powermeter: { power: '0', energy: '19331' } },
  { identifier: '119600643920',
    id: '17',
    functionbitmask: '320',
    fwversion: '03.54',
    manufacturer: 'AVM',
    productname: 'Comet DECT',
    present: '1',
    name: 'Comet DECT Wohnzimmer',
    temperature: { celsius: '200', offset: '-50' },
    hkr: 
     { tist: '40',
       tsoll: '42',
       absenk: '32',
       komfort: '42',
       lock: '0',
       devicelock: '0',
       errorcode: '0',
       batterylow: '0',
       nextchange: [Object] } } ]

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 20.01.2018, 11:24

Entspricht eigentlich meinen Erwartungen. Könntest du im debug Modus den log anschauen, was dort mit create devices steht? Oder evtl Fehlermeldung?


Gesendet von iPhone mit Tapatalk
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: Adapter: fritzdect

Beitrag von aldoa1 » 20.01.2018, 11:34

foxthefox hat geschrieben:Entspricht eigentlich meinen Erwartungen. Könntest du im debug Modus den log anschauen, was dort mit create devices steht? Oder evtl Fehlermeldung?


Gesendet von iPhone mit Tapatalk
Hier der Log. Create Devices 3? Dann müsste doch bei den Objekten die 3 angezeigt werden?

Code: Alles auswählen

fritzdect.0	2018-01-20 11:33:14.597	info	setting up Switch/DECT2xx object FRITZ!Powerline Türstation
fritzdect.0	2018-01-20 11:33:14.596	info	create Devices 3
fritzdect.0	2018-01-20 11:33:14.352	info	Talking to FritzBox with firmware: 06.92
fritzdect.0	2018-01-20 11:33:10.028	info	entered ready
fritzdect.0	2018-01-20 11:33:10.018	info	starting. Version 0.1.0 in /opt/iobroker/node_modules/iobroker.fritzdect, node: v6.12.2

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 20.01.2018, 14:11

aldoa1 hat geschrieben: Hier der Log. Create Devices 3? Dann müsste doch bei den Objekten die 3 angezeigt werden?
Richtig. Es sind 3 Geräte anzulegen und das sollte es auch tun.
Wenn du in den debug-modus für den Adapter wechselst:
fritzdect_debug.PNG
dann sollte der output ähnlich diesem sein:
debug-log.PNG
bzw. es steht noch kurz etwas wie "setting up Thermostat/DECT3xx object ..." da und bricht dann ab.

Das würde mich interessieren, was da die Ausgabe ist.

Gruß
Klaus
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

aldoa1
starter
Beiträge: 35
Registriert: 18.12.2017, 16:32

Re: Adapter: fritzdect

Beitrag von aldoa1 » 20.01.2018, 14:29

Die 3 Smarthome Geräte sind nun als Objekte vorhanden.

Es wurde komischerweise immer nur das erste Gerät der Fritzbox eingelesen.

Dies war zunächst die 546e Türstation.

Danach habe ich den Comet Adapter in der Fritzbox als erstes Gerät eingestellt und den Adapter neu gestartet.
Der Comet wurde dann eingelesen.

Danach die zweite 546e ganz nach oben. Dieses Geräte wurde dann auch eingelesen.


Was mir noch aufgefallen ist:

Die Batterieladung (%) wird nicht mehr angezeigt.

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 20.01.2018, 15:14

aldoa1 hat geschrieben:Die 3 Smarthome Geräte sind nun als Objekte vorhanden.

Es wurde komischerweise immer nur das erste Gerät der Fritzbox eingelesen.

Dies war zunächst die 546e Türstation.

Danach habe ich den Comet Adapter in der Fritzbox als erstes Gerät eingestellt und den Adapter neu gestartet.
Der Comet wurde dann eingelesen.

Danach die zweite 546e ganz nach oben. Dieses Geräte wurde dann auch eingelesen.


Was mir noch aufgefallen ist:

Die Batterieladung (%) wird nicht mehr angezeigt.
Hmm, da 3 Geräte erkannt sind, sollten das "forEach" auch durchlaufen. Habe im code evtl ein ";" vergessen, welches in deiner node version einen Fehler gibt.
Da das auch beim zyklischen Update der Fall war, gehe ich davon aus, daß nur das derzeitig erste Geräte bei dir jetzt alle 5min neue Werte bekommt!
Probier nochmal die neue Version von github.

Die Batterieladung ist kein nativer Bestandteil des outputs deiner Fritzbox, von daher wird er nicht vom Adapter angelegt. Das hängt wohl stark an der Firmware, bei uwered ist es zum Beispiel mit dabei.

In der alten Version wurde dies über einen anderen Weg ermittelt, das müsste ich irgendwie in meine neue Umstrukturierung wieder dazubauen.
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

foxthefox
professional
Beiträge: 368
Registriert: 22.01.2017, 14:35

Re: Adapter: fritzdect

Beitrag von foxthefox » 21.01.2018, 12:12

foxthefox hat geschrieben:
aldoa1 hat geschrieben:
Was mir noch aufgefallen ist:

Die Batterieladung (%) wird nicht mehr angezeigt.
Die Batterieladung ist kein nativer Bestandteil des outputs deiner Fritzbox, von daher wird er nicht vom Adapter angelegt. Das hängt wohl stark an der Firmware, bei uwered ist es zum Beispiel mit dabei.

In der alten Version wurde dies über einen anderen Weg ermittelt, das müsste ich irgendwie in meine neue Umstrukturierung wieder dazubauen.

So, hab die Batterieladung wieder mit aufgenommen.

Bitte Version von github testen!
Meine Adapter: fritzdect; musiccast; milight; lifx; jeelink;

Antworten