Autor Thema: FBAHAHTTP - Vorlagen nutzen/einbinden  (Gelesen 5053 mal)

Offline Matze89

  • Jr. Member
  • **
  • Beiträge: 68
FBAHAHTTP - Vorlagen nutzen/einbinden
« am: 23 März 2019, 22:23:07 »
Hallo an euch,

ich habe bereits schon sehr intensiv nach Möglichkeiten gesucht, vordefinierte Vorlagen aus der FritzBox über FHEM zu aktivieren/steuern/deaktivieren. Da es bereits ein inoffizielles Alexa-Skill für die FritzBox gibt (https://www.fbsmarthome.site/?lng=de), diese bereits erfolgreich die Vorlagen nutzen kann, würde ich dieses sehr für FHEM beglückwünschen.

Wie seht ihr das? - Beispiele:
- Urlaubsmodus mit einem HomeKit Befehl (iOS -> Homebridge -> Fhem) in FHEM aktivieren und die Vorlagen in der FritzBox wechseln.
- Abwesenheit bemerken - Heizungsvorlage auf Abwesend stellen

Ich würde mich sehr über eure Tipps/Tricks freuen - besser noch - "FBAHAHTTP" mit dieser Funktion zu erweitern - möglich?

Kurze Hardwareinformation:
Ich nutze eine FritzBox 6490 mit 07.02

Liebe Grüße
Matze
« Letzte Änderung: 23 März 2019, 22:49:28 von Matze89 »
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #1 am: 23 März 2019, 22:25:37 »
Voraussetzung für FBAHAHTTP ist, dass diese Funktion über die tr064 Schnittstelle verfügbar ist.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Matze89

  • Jr. Member
  • **
  • Beiträge: 68
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #2 am: 23 März 2019, 22:30:37 »
Voraussetzung für FBAHAHTTP ist, dass diese Funktion über die tr064 Schnittstelle verfügbar ist.

Entschuldige für die Ungewissheit, aber das kann ich mir nicht vorstellen, denn:
Ich gebe für den Alexa-Skill bereits auch nur die Externe MyFritz Adresse an, inklusive einen Benutzername und Passwort an
(Dies hat nur die Berechtigung von "Smart Home"). Dadurch können die Vorlagen einwandfrei verwendet werden.

Somit müsste dies ohne Probleme über den HTTP Zugang realisiert werden können?


Edit: Soeben schlau gemacht, worauf du hinaus wolltest. War es früher so, bezüglich der TR064 Schnittstelle? Dies wurde doch jetzt gesperrt eingeschränkt. Jetzt werden folgende Schnittstellen über FBAHAHTTP freigegeben. Hier ist das laut AVM folgendes möglich, inklusive Vorlage:

https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf
6.98 - HANFUN und HANFUN Unit - Vorlagen/Template gettemplatelistinfos und applytemplate

PS: Offener Quellcode für Amazon Alexa und Google Assistant für die FritzBox von Raphael Pala:
https://bitbucket.org/raphpa/fbsmarthome - Bezogen auf die Befehle für die Vorlagen ;-)

Gruß Matthias
« Letzte Änderung: 24 März 2019, 00:15:16 von Matze89 »
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #3 am: 23 März 2019, 23:55:47 »
Du hast teilweise recht.
Die meisten Funktionalitäten für die Hausautomatisierung werden über den AHA HTTP Server zur Verfügung gestellt. Somit sollten die Vorlagen auch einstellbar sein.
tr-064 wurde aber nicht gesperrt, und einige Funktionen sind nur darüber erreichbar. Siehe in deiner Fritzbox Heimnetz > Netzwerk > Netzwereinstellungen ganz unten.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25807
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #4 am: 24 März 2019, 13:17:19 »
Ich habe gerade zu FBAHAHTTP "get templateList" und "set template XXX" hinzugefuegt.

get templateList funktioniert.

Fuer "set template XXX" liefert der AHA Server "HTTP 400 Bad request" zurueck, vmtl. ist das, was ich sende falsch.
Ich habe https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf so interpretiert, dass man
ain=<templatename>&switchcmd=applytemplatesenden muss, das ist aber offensichtlich falsch.

Wenn mir jemand die korrekte Syntax beschreibt, dann korrigiere ich es gerne.


Offline Matze89

  • Jr. Member
  • **
  • Beiträge: 68
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #5 am: 24 März 2019, 13:53:55 »
Hallo rudolfkoenig,

vielen Dank für die schnelle und kompetente Mithilfe!  ;)

Ich habe mir aus dem SVN Trunk die 00_FBAHAHTTP.pm eingebunden, um dies zu verstehen/protokollieren. Ich bin kein begabter Programmierer.

Folgendes Problem ist mir soeben noch aufgekommen:
- Es dürfen keine Leerzeichen in den Vorlagen Namen vorkommen, ansonsten gibt es Probleme vermischt die Bezeichnung im Set.

Modul nennt sich bei mir als name "FBDECT" - Wenn ich jetzt "get FBDECT templatelist" ausführe, wird folgendes über Verbose 5 ausgegeben:
2019.03.24 13:45:24 5: FBDECT: dispatch <device identifier="08761 0378940" id="18" functionbitmask="2944" fwversion="04.09" manufacturer="AVM" productname="FRITZ!DECT 200"><present>1</present><name>Entertaiment-TV</name><switch><state>1</state><mode>manuell</mode><lock>0</lock><devicelock>0</devicelock></switch><powermeter><voltage>230718</voltage><power>199410</power><energy>315264</energy></powermeter><temperature><celsius>260</celsius><offset>0</offset></temperature></device>
2019.03.24 13:45:24 5: FBDECT: dispatch <device identifier="11959 0278448" id="16" functionbitmask="320" fwversion="03.68" manufacturer="AVM" productname="Comet DECT"><present>1</present><name>KZ-H</name><temperature><celsius>185</celsius><offset>0</offset></temperature><hkr><tist>37</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>50</battery><nextchange><endperiod>1553467500</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device>
2019.03.24 13:45:23 5: FBDECT: dispatch <device identifier="11959 0389176" id="17" functionbitmask="320" fwversion="03.68" manufacturer="AVM" productname="Comet DECT"><present>1</present><name>BZ-H</name><temperature><celsius>180</celsius><offset>0</offset></temperature><hkr><tist>36</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>50</battery><nextchange><endperiod>1553484600</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device>
2019.03.24 13:45:23 5: FBDECT: dispatch <device identifier="09995 0048324" id="20" functionbitmask="320" fwversion="04.88" manufacturer="AVM" productname="FRITZ!DECT 301"><present>1</present><name>SZ-H</name><temperature><celsius>195</celsius><offset>0</offset></temperature><hkr><tist>39</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>90</battery><nextchange><endperiod>1553446800</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device>
2019.03.24 13:45:23 5: FBDECT: dispatch <device identifier="11960 0781472" id="19" functionbitmask="320" fwversion="03.68" manufacturer="AVM" productname="Comet DECT"><present>1</present><name>WZ-H-R</name><temperature><celsius>215</celsius><offset>20</offset></temperature><hkr><tist>43</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>10</battery><nextchange><endperiod>1553436000</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device>
2019.03.24 13:45:23 5: FBDECT: dispatch <group identifier="AC:F5:74-900" id="900" functionbitmask="4160" fwversion="1.0" manufacturer="AVM" productname=""><present>1</present><name>WZ-H</name><hkr><tist>0</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>1</battery><nextchange><endperiod>1553436000</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr><groupinfo><masterdeviceid>0</masterdeviceid><members>21,19</members></groupinfo></group>
2019.03.24 13:45:23 5: FBDECT: dispatch <device identifier="09995 0095691" id="21" functionbitmask="320" fwversion="04.88" manufacturer="AVM" productname="FRITZ!DECT 301"><present>1</present><name>WZ-H-L</name><temperature><celsius>200</celsius><offset>0</offset></temperature><hkr><tist>40</tist><tsoll>32</tsoll><absenk>32</absenk><komfort>42</komfort><lock>0</lock><devicelock>0</devicelock><errorcode>0</errorcode><batterylow>0</batterylow><windowopenactiv>0</windowopenactiv><battery>60</battery><nextchange><endperiod>1553436000</endperiod><tchange>42</tchange></nextchange><summeractive>0</summeractive><holidayactive>0</holidayactive></hkr></device>

-

Wenn ich jetzt "Urlaub" als Test nehme und "set FBDECT template Urlaub" ausführe, erfolgt folgendes:
2019.03.24 13:57:09 1: No sensible response for ain=Urlaub&switchcmd=applytemplate after reconnect, giving up
2019.03.24 13:57:09 5: FBAHAHTTP_Write reply for FBDECT:

-


Hab etwas gefunden - bezogen auf das Script vom Alexa... wie das eingesetzt wird:

string requestUri = fritzBoxAddress.TrimEnd('/') + "/" + SMARTHOMEPAGE + "?sid=" + connection.FritzBoxSessionId + "&switchcmd=applytemplate&ain=" + device.Identifier;
« Letzte Änderung: 24 März 2019, 14:07:39 von Matze89 »
FHEM mit RPi4 ::: SIGNALduino ::: Homebridge + homebridge-fhem ::: Zigbee = RaspBee + Hue + Paulmann + Ikea + Xiaomi ::: DECT = FritzBox 6590 + FRITZ!DECT ::: IR = Harmony ::: SIRO Akku-Rolloantrieb ::: EchoDots + alexa-fhem

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25807
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #6 am: 24 März 2019, 16:46:26 »
Zitat
Hab etwas gefunden - bezogen auf das Script vom Alexa... wie das eingesetzt wird:

string requestUri = fritzBoxAddress.TrimEnd('/') + "/" + SMARTHOMEPAGE + "?sid=" + connection.FritzBoxSessionId + "&switchcmd=applytemplate&ain=" + device.Identifier;
Genau das sende ich mAn bei "set template", und die Parameterreihenfolge umzudrehen macht keinen Unterschied.

Ich waere dankbar fuer ein funktionierende Version, ohne Variablennamen, sondern mit tatsaechlichen Werten.


Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #7 am: 24 März 2019, 16:53:00 »
Ich habe gerade zu FBAHAHTTP "get templateList" und "set template XXX" hinzugefuegt.

get templateList funktioniert.

Fuer "set template XXX" liefert der AHA Server "HTTP 400 Bad request" zurueck, vmtl. ist das, was ich sende falsch.
Ich habe https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf so interpretiert, dass man
ain=<templatename>&switchcmd=applytemplatesenden muss, das ist aber offensichtlich falsch.

Wenn mir jemand die korrekte Syntax beschreibt, dann korrigiere ich es gerne.

Und so machen die auch hier: https://github.com/andig/fritzapi
sid muss man (natürlich) auch mitsenden.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #8 am: 24 März 2019, 17:01:34 »
Hat das Template vielleicht ein eigenes ain, was nicht der Templatename ist?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Gerold

  • Jr. Member
  • **
  • Beiträge: 57
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #9 am: 24 März 2019, 17:17:03 »
als ain muss der Identifier der Templates mitgegeben werden, z.B.:

ain=tmp236E3D-39DEC6610&switchcmd=applytemplate

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25807
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #10 am: 24 März 2019, 18:41:12 »
Habs angepasst, scheint zu funktionieren.
Leerzeichen in template Namen werden weiterhin nicht unterstuetzt, waere an zu vielen Stellen Umbau notwendig.

Offline Gerold

  • Jr. Member
  • **
  • Beiträge: 57
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #11 am: 25 März 2019, 11:37:04 »
ja, klappt auch bei mir. Habe 3 Testtemplates in der FB angelegt und kann sie aus FHEM heraus über das FBAHATTP Device aktivieren.

Offline hal2000pd

  • Newbie
  • Beiträge: 2
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #12 am: 03 März 2022, 16:47:16 »
In der CommandRef (https://fhem.de/commandref.html#FBAHAHTTP) steht (noch?), dass das Setzen von Templates aus unbekanntem Grund aktuell nicht funktioniert.
Ich habe das bei mir gerade eingerichtet, und wie oben beschrieben, muss lediglich sichergestellt sein, dass die Template-Namen keine Leerzeichen enthalten. Ansonsten funktioniert es bei mir wie es soll.

Kann das in der CommandRef entsprechend geändert werden?

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 25807
Antw:FBAHAHTTP - Vorlagen nutzen/einbinden
« Antwort #13 am: 03 März 2022, 19:53:15 »
Danke fuer den Hinweis, habe de Doku geaendert.
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal