AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte FRITZ!Box Komponente v0.17
Thema durchsuchen
Ansicht
Themen-Optionen

FRITZ!Box Komponente v0.17

Ein Thema von Garfield · begonnen am 16. Feb 2014 · letzter Beitrag vom 26. Dez 2023
Antwort Antwort
Rene K.

Registriert seit: 26. Jan 2005
Ort: Dresden
6 Beiträge
 
Delphi XE5 Enterprise
 
#1

AW: FRITZ!Box Komponente v0.17

  Alt 11. Nov 2016, 19:35
Scheinbar geht es hier nicht weiter, aber ich frage dennoch.

Ich habe mir die aktuelle Version herunter geladen. Die Lazarus-Variante funktioniert nicht unter MAC OS. Statt WinSock muss da Synapse mit SynSock her. Leider sind die IPv4 Aufrufe aber nicht mehr enthalten. Jedenfalls konnte ich den Code nicht komplett migrieren. Besser sah es mit der XE5 Version unter Berlin 10.1 aus. Klappte auf Anhieb.

Nun zur eigentlichen Frage: Wie kann ich die Steckdosen abfragen (via getswitchstate)?
Das Studium diverser PHP Scripte hat mich leider nicht weiter gebracht.
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#2

AW: FRITZ!Box Komponente v0.17

  Alt 12. Nov 2016, 13:26
Scheinbar geht es hier nicht weiter, aber ich frage dennoch.
-31-

... Die Lazarus-Variante funktioniert nicht unter MAC OS. ...
Da Windows-Funktionen verwendet werden ist das logisch. Ohne MAC OS kann ich es eh nicht testen. Ubuntu ist für mich eher interessant. Ob das dann alles kompatibel sein wird, weiß ich nicht. Den Callmonitor hatte ich erfolgreich mit Wine getestet.

Nun zur eigentlichen Frage: Wie kann ich die Steckdosen abfragen (via getswitchstate)?
Das Studium diverser PHP Scripte hat mich leider nicht weiter gebracht.
Wozu PHP-Scripte auswerten? Firefox mit Live HTTP Headers starten, die gewünschten Informationen im Fritzbox-Menue abrufen und den Mitschnitt von Live HTTP Headers auswerten.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#3

AW: FRITZ!Box Komponente v0.17

  Alt 12. Nov 2016, 13:34
Vielleicht das mal ansehen.
Angehängte Dateien
Dateityp: 7z FritzSpider.7z (674,0 KB, 76x aufgerufen)
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#4

AW: FRITZ!Box Komponente v0.17

  Alt 19. Nov 2016, 08:45
Erläuterung:

Der Spider verwendet upnp. Auf der Fritzbox sind verschiedene Beschreibungsdateien enthalten, diese enthalten Links auf weitere Beschreibungsdateien oder die Beschreibung von Funktionen usw. Das bedeutet die Namen der Funktionen, ihre Variablen, die Typen der Variablen und die möglichen Werte.

Mit einem Klick auf den Button "Scannen" wird nach den Dateien 'tr64desc.xml', 'igddesc.xml', 'phonebook.xml' und 'crossdomain.xml' geguckt. Sind sie vorhanden werden sie durchgesehehen.

Unter "Services, Actions, Argumente und Eigenschaften" ist links ein TreeView mit den gefundenenen Dateien und Funktionen usw. Wird eine Funktion ausgewählt werden in dem Memo in der Mitte die Variablen angezeigt. Wählt man eine Variable aus, werden im Memo rechts der Typ und die Werte angezeigt.

Ist eine Funktionn ausgewählt, wird unter "TCP Send Script" das Script zur Abfrage angezeigt. Ein Klick auf den Button "Senden" verschickt das Script und unter "TCP Receive Script" sieht man die Antwort. Ist der Balken darüber grün ist alles in Ordnung. Ist er rot, liegt es in der Regel daran, dass eine HTPPS-Verbindung notwendig ist, welche nicht im Spider implementiert ist.

Der Spider ist mit TurboDelphi geschrieben und kompiliert.
Miniaturansicht angehängter Grafiken
2016-11-19-08_37_00-fritz-box-spider.png  
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#5

AW: FRITZ!Box Komponente v0.17

  Alt 1. Dez 2016, 22:27
Dokumente dazu: https://avm.de/service/schnittstellen/
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Vienesko

Registriert seit: 21. Mai 2017
Ort: Hamburg
13 Beiträge
 
#6

AW: FRITZ!Box Komponente v0.17

  Alt 21. Mai 2017, 22:14
Moin Moin,

ich bin neu hier im Forum (bisher nur stiller Mitleser) und beschäftige mich noch nicht so lange mit der Programmierung in Delphi.
Ich möchte mir das Programmieren mit einer eigenen Software beibringen - also leraning by doing sozusagen.

In diese Software (eine eigene Haussteuerung) möchte ich auch die Abfrage meiner FritzBox implementieren.
Ich habe die Komponente heruntergeladen (herzlichen Dank an Garfield fürs Bereitstellen) und wollte diese installieren. Ich bekomme allerdings Fehler angezeigt.
Er findet unter "uses" leider "Dom" und "XMLRead" nicht.

Wo liegt das Problem? Auch bei der Beispielanwendung gibt es Probleme.
Ich nutze XE7.

Ich würde mich freuen, wenn ihr mir helfen könntet. Vielen Dank
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.342 Beiträge
 
Delphi 12 Athens
 
#7

AW: FRITZ!Box Komponente v0.17

  Alt 21. Mai 2017, 22:32
Alle fast alle Delphi-Units heißen inzwischen anders, aber standardmäíg hat man in neuen Projekten den fehlenden Namespace definiert (vorallem System. Vcl. und WinApi. ).
Forms = Vcl.Forms
SysUtils = System.SysUtils
usw.

Als Erstes solltes du lernen, was Compiler-Direktiven sind.
Dieser Code wurde für Delphi und Lazarus geschrieben und je nach Compiler und CompilerVersion wird unterschiedlicher Code verwendet.

Delphi-Quellcode:
{$IfDef VER260}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE5}
{$IfDef VER250}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE4}
{$IfDef VER240}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE3}
...
{$IfDef VER80}{$Define DELPHI} {$EndIf}                          {Delphi 1}

interface

uses
  Classes, SysUtils, Windows, WinSock, Dialogs, ExtCtrls, Forms, StdCtrls, Graphics,
  {$IfDef DELPHI}Jpeg, Messages, XMLIntf, XMLDoc{$Else}Controls, Dom, XMLRead{$EndIf};
Und schon würde bestimmt schnell auffallen, dass dein Problem im Bereich "Prüfung auf Delphiversionen" liegt.

Der fehlende Teil:
Delphi-Quellcode:
{$IfDef VER320}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE10.2}
{$IfDef VER310}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE10.1}
{$IfDef VER300}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE10}
{$IfDef VER290}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE8}
{$IfDef VER280}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE7}
{$IfDef VER270}{$Define DELPHI}{$Define DELPHI_XE2_UP}{$EndIf}   {Delphi XE6}
Nja, aus solchen Grüden nutze ich in meinen Codes eine die entsprechenden Conditional-Expressions ala {$IF CompilerVersion >= 23.0}
für {$DEFINE DELPHI_XE2_UP} , was auch in zukünftigen Delphis passen wird, im Gegensatz zu den {$IFDEF VER230} -Orgien.

Aber am Liebsten prüfe ich möglichst auf benötigte Compiler-Features und Deklarationen, anstatt auf irgendwelche Compiler-Versionen, da es "eindeutiger", verständlicher und vorallem versionsunabhängig ist.
Delphi-Quellcode:
uses {$IFDEF FPC}Controls, Dom, XMLRead{$ELSE}Jpeg, Messages, XMLIntf, XMLDoc{$ENDIF}  // FreePacal und seit XE gibt es im Delphi auch "DCC"

{$IF Declared(RawByteString)}RawByteString{$ELSE}AnsiString{$IFEND}
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (21. Mai 2017 um 22:44 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz