NEWS
Fritzbox Anrufbeantworter komplexe Schaltung
-
Um jetzt eine Liste der Nachrichten auf einem Anrufbeantworter zu erhalten, wählst Du ja
GetMessageList mit dem entsprechenden Index des jeweiligen Anrufbeantworters.
Als Resultat bekommst Du eine URL mit Deinen verschlüsselten Credentials zurück, mit der Du diese Liste abrufen kannst.
Du kannst also diese Url - als msg.url direkt in einer HTTP-Request Node verwenden und solltest dann eine Liste mit Deinen Nachrichten bekommen:
Diese Liste kannst ja mit der XML Node ggf. wieder parsen , irgendwo ausgeben oder analysieren, um best. Nachrichten zu löschen usw.
Da ich wie gesagt keinen Anrufbeantworter benutze, solltest Du aber eine valide Liste bekommen.
Die XML Node parsed eigentlich das ganz gut - wenn Du Liste mit der XML Node parsed bekommst Du schon ein vernünftiges Objekt zurück.
Was die einzelnen Parameter bedeuten siehst Du ja in der Doku:
Um aus der Liste zum Beispiele alle aktiven ABs zu ermitteln benutzt Du natürlich das mächtige JSONATA und siehst dann auf einen Blick, was aktiv ist und was nicht:
So nun solltest Du eigentlich alle Infos haben, um damit Deine Anrufbeantworter zu steuern bzw. kannst auswerten was aktiv ist oder nicht.
-
Und falls Du irgendwelche Timer brauchst - dann nutze die cron-plus Node - die ist super mächtig.
-
@taddy81 sagte in Fritzbox Anrufbeantworter komplexe Schaltung:
10.5.2024, 10:36:44node: debug 105 msg : Object object _msgid: "12bdf65b50981df3" payload: object NewTAMList: string <List><TAMRunning>1</TAMRunning><Stick>0</Stick><Status>0</Status><Capacity>3131</Capacity><Item><Index>0</Index><Display>1</Display><Enable>0</Enable><Name>#Notruf Wochenende 10-11Uhr</Name></Item><Item><Index>1</Index><Display>1</Display><Enable>0</Enable><Name>#Ansage AußerhalbSprechstunde</Name></Item><Item><Index>2</Index><Display>1</Display><Enable>0</Enable><Name>Notdienst werktags</Name></Item><Item><Index>3</Index><Display>1</Display><Enable>1</Enable><Name>Sprechzeitenbeschränkt</Name></Item><Item><Index>4</Index><Display>1</Display><Enable>0</Enable><Name>Mittwoch zu (löschen)</Name></Item></List> topic: ""
Wenn Du die Nachrichten über das Debugfenster auch richtig rauskopierst, wie ich Dir das in meinem ersten Post beschrieben habe, dann muss man sich auch nicht solche Verrenkungen machen, um Dein XML daraus zu extrahieren:
Wenn Du dann den aktiven AB mit dem entsprechenden Index selektieren willst, dann erstellst Du daraus einfach mit JSONATA ein neues Objekt um den Index des AB zu erhalten, den Du dann ggf. deaktivieren musst.
Hier das Ganze zum Ausprobieren:
payload.List.Item[Enable[0]="1"].{"Name":Name[0],"Index":Index[0]}
und hier die JSONATA Seite zum Testen Deines Codes eventuell:
-
Re: Fritzbox Anrufbeantworter komplexe Schaltung
Vielen vielen Dank @mickym, musste mich am Wochenende um eine Menge Reallife kümmern, danke für deine Zeit und werde mich nun mal um die Umsetzung kümmern
-
Ich hatte gehofft weiter zukommen, aber leider habe ich nun ein Problem mit dem TR064, auch der neuinstallierte Adapter kann sich nicht verbinden
Auch ein Neustart der Fritzbox hat kein Effekt gehabt, muss ich mich morgen nochmal mit beschäftigen
-
@taddy81 du brauchst den ADAPTER nicht, wenn Du die Nodes verwendest! Wahrscheinlich versucht sowohl Node-Red und der Adapter sich zu verbinden und das ist großer Käse. Entweder Du nutzt den Adapter oder die Nodes.
Und Du hattest doch bereits verbindung mit Deiner Node in Node-Red, sonst hättest Du den Status doch gar nicht auslesen können. Wenn Du die Kommandos über den Adapter absetzen wolltest das geht im command Datenpunkt ist das viel mühseliger.
-
Ebenfalls Käse ist es, eine ungerade Version von nodejs zu verwenden. Bring das auf die vorgesehene und derzeitig empfohlene Version 18.
iob nodejs-update 18
-
@mickym ich habe den flow deaktiviert, da die Nodes nicht mehr funktioniert haben, bzw eine Fehlermeldung ausgegeben habe (irgendwas mit internal Error, bin gerade nicht am Handy und habe daher keinen Zugriff auf die Fehlermeldung)
Ein Update von nodejs werde ich gleich morgen durchführen!
Den Tipp mit der Cron Node ist übrigens echt super, nutze ich nun auch schon seit längerem und wundere mich, warum NodeRed keine ähnlich vielseitige injectnode anbieter
-
@taddy81 Na dann wird wahrscheinlich alles damit zusammenhängen, dass Du eine schiefe NodeJS Version installiert hast. Erstens installiert man nur gerade Versionsnummern und für den iobroker ist gerade nur V18 freigegeben. Die normale LTS Version ist auch V20 (damit läuft auch NodeRed bzw. ist freigegeben)
Grundsätzlich installiert man nur LTS (Long Term Support) Versionen - es ist auch schon ein V.22 verfügbar. Aber an diesen Dingern schraubt man eigentlich nicht rum, bis eine entsprechende Freigabe erfolgt und da gibts dann im iobroker - Befehle die für Dich das update übernehmen. Also die Version V21 - ist auch keine LTS Version, das sind ggf. Beta oder Zwischenversionen.
-
@taddy81 sagte in Fritzbox Anrufbeantworter komplexe Schaltung:
Ein Update von nodejs werde ich gleich morgen durchführen!
Eher ein Downgrade auf die V18.
Also die Version V21 - ist auch keine LTS Version, das sind ggf. Beta oder Zwischenversionen.
Und auch zwischenzeitlich abgekündigt.