[Info] Update-Check über den neuen AVM-Service in Excel

DickS

Aktives Mitglied
Mitglied seit
22 Feb 2005
Beiträge
2,068
Punkte für Reaktionen
60
Punkte
48
Installiere aufn Mac einfach Win10 ;)
 

meierchen006

Aktives Mitglied
Mitglied seit
7 Jun 2007
Beiträge
1,006
Punkte für Reaktionen
40
Punkte
48
Hallo,

ich habe mir jetzt für die Abfrage oben in T1 eine Formel eingetragen die einen Zeitstempel macht.

Die Formel: =WENN(UND(T4<>0;U4<>"");"Abfrage: "&TEXT(JETZT();"TT.MM.JJJJ hh:mm:ss");"")

Das Ergebnis dieser Formel ändert sich beim öffnen der Tabelle und beim klicken auf die Makro-Button's.

Wenn jemand eine Idee hat wie sie sich nur ändert beim Abfragebutton, dann gerne eine andere Formel :)

Unbenannt-1.JPG

//edit stoney: Von Voll- zu Miniaturansicht geändert
 
Zuletzt bearbeitet von einem Moderator:

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,439
Punkte für Reaktionen
78
Punkte
48
Das Abfragedatum ist doch gar nicht interessant.
Viel sinnvoller wäre es, in Spalte V das Erstellungsdatum der Update-Datei anzuzeigen (Version vom ...).
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,151
Punkte für Reaktionen
747
Punkte
113
Das wird dann aber zum "Monster-Projekt" ... mir fiele aus dem Stand keine Möglichkeit ein, als das Image auszupacken (wie weit, hängt wieder davon ab, wie genau die Angabe sein soll) und davon hat Excel/Windows per se schon mal keine Ahnung - ggf. kann 7-zip mit dem TAR-Format noch etwas anfangen (solange man jetzt nicht weitere, unter Windows "unübliche" Programme installieren will, denn irgendwo gibt es bestimmt sogar ein "tar" für Windows). Aber auch dazu müßte man es erst einmal laden ... die reine SOAP-Response enthält ja nur die hier (im letzten Code-Kasten) gezeigten XML-Entities.
 
  • Like
Reaktionen: jochen2d

HabNeFritzbox

IPPF-Urgestein
Teammitglied
Mitglied seit
12 Dez 2017
Beiträge
15,112
Punkte für Reaktionen
191
Punkte
63
Ich war mal so frei, und habe Thema angepinnt. :)

Peter, dein Update Script ebenfalls.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,439
Punkte für Reaktionen
78
Punkte
48
@PeterPawn:
Das mit dem "Monsterprojekt" verstehe ich nicht.
Der Dateiname wird doch schon ermittelt. Wo ist dann das Problem, das zu dieser Datei gehörige Datum ebenfalls aus dem Download-Directory auszulesen?
Jede Datei hat doch mindestens das Datum der Speicheung auf dem Server, auf dem sie sich befindet.
Die Ausgabe eines Datums würde ich mir auch mit Hilfe deines juis_check Scriptes wünschen.
 

PeterPawn

IPPF-Urgestein
Mitglied seit
10 Mai 2006
Beiträge
12,151
Punkte für Reaktionen
747
Punkte
113
Die Download-URLs sind ganz unterschiedlich ... mal FTP, mal HTTP.

Ohne den Download wenigstens zu starten, kriegt man bei HTTP auch kein Datum - zwar sendet der nginx von AVM tatsächlich einen "Last-Modified"-Header mit beim HTTP-Download, aber auch der ist natürlich nur das Datum der letzten Änderung auf dem Download-Server und könnte sich (ich habe es nicht getestet) durchaus von Server zu Server unterscheiden. Bei mir wird z.B. "download.avm.de" im Moment in 6 verschiedene (IPv4-)Adressen aufgelöst - jeder davon könnte einen anderen "Last-Modified"-Header liefern, weil der mit einiger Sicherheit aus dem Datum im Dateisystem generiert wird, zu dem die Datei dort abgelegt wurde; vielleicht handelt es sich aber tatsächlich auch um das "echte" Datum der letzten Änderung. Da aber diese "Meta-Daten" ja auch nicht in irgendwelche Prüfsummen (über den Dateiinhalt) eingehen, kann man das ziemlich wahlfrei ändern - damit taugt es eben nicht, um den Inhalt des Firmware-Images zu beschreiben und man müßte dieses (zumindest nach meiner Ansicht) tatsächlich laden und dann entpacken, um den Inhalt zu erhalten und damit das "echte" Datum der Firmware.

Wobei auch das zu kurz gegriffen sein kann, wenn man mal eine 113.06.93 betrachtet, wo man nicht mal genau weiß, welches Datum man nun nehmen sollte - die ist irgendwann am 13.12.2017 tatsächlich gebaut und signiert, wurde aber von AVM erst am 03.01.2018 freigegeben. Was sollte man da jetzt als Datum verwenden, damit die Benutzer nicht in die eine oder andere Richtung verwirrt werden?

Es gibt zwar seit der 06.9x im Image auch eine Datei "var/version", aus der man halt die Version auslesen kann, ohne auf den Namen der gesamten Datei vertrauen zu müssen und ohne erst den Inhalt auch noch entpacken zu müssen, aber die enthält selbst auch kein Datum - jedoch könnte man sich auf die Angaben aus dem TAR-Header stützen. Aber auch das braucht den Download ... und der ist in vielen Fällen gar nicht im Interesse des Benutzers und müßte daher auch eher als Option hinzugefügt werden.
 

Joe_57

IPPF-Promi
Mitglied seit
5 Mrz 2006
Beiträge
5,439
Punkte für Reaktionen
78
Punkte
48
Vielen Dank für diese Erklärung. Diese wirre Verknüpfung war mich nicht bewusst.
 

jochen2d

Neuer User
Mitglied seit
7 Mrz 2009
Beiträge
67
Punkte für Reaktionen
1
Punkte
8

japes

Neuer User
Mitglied seit
17 Mai 2010
Beiträge
187
Punkte für Reaktionen
5
Punkte
18
Hallo,

ich habe mir jetzt für die Abfrage oben in T1 eine Formel eingetragen die einen Zeitstempel macht.

Die Formel: =WENN(UND(T4<>0;U4<>"");"Abfrage: "&TEXT(JETZT();"TT.MM.JJJJ hh:mm:ss");"")

Das Ergebnis dieser Formel ändert sich beim öffnen der Tabelle und beim klicken auf die Makro-Button's.

Wenn jemand eine Idee hat wie sie sich nur ändert beim Abfragebutton, dann gerne eine andere Formel :)

Anhang anzeigen 93219
die Formel ganz raus und vor das End SUB als letzter Befehl jeweils ActiveSheet.Range("T2").Value = "letzte Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")

Gruß
 

meierchen006

Aktives Mitglied
Mitglied seit
7 Jun 2007
Beiträge
1,006
Punkte für Reaktionen
40
Punkte
48
Hallo japes,

habe es so gemacht wie du geschrieben hast, mir reicht das aus. Meine Formel habe ich rausgeschmissen.

jeweils eine Zeile vor END SUB

Für Zelle A2 folgendes eingefügt IP -> Boxinfo:

ActiveSheet.Range("A2").Value = "Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")

Für Zelle T1 folgendes eingefügt Boxinfo -> Update:
ActiveSheet.Range("T1").Value = "Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")

Unbenannt-1.JPG

//edit stoney: Von Voll- zu Miniaturansicht geändert
 
Zuletzt bearbeitet von einem Moderator:

Klaus60

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
185
Punkte für Reaktionen
0
Punkte
16
Versuche seit gestern das Script zum laufen zu bekommen. Komme aber nicht wirklich weiter.
Muß ich im Script erst die Daten meiner Box eintragen ?
Vielleicht kann mir (Excel Anfänger) jemand helfen bzw. sagen was ich machen muß damit ich das Script zum laufen bekomme.

Zuerst dachte ich mir es liegt an der alten Excel Version, mittlerweile habe ich eine 2016 x 86 Testversion installiert.
Wenn ich auf IP --> Boxinfo oder
Laufzeitfehler '-2147012894(80072ee2)':
Das Zeitlimit für den Vorgang wurde erreicht.
Im Debug Fenster ist folgende Zeile gelb hinterlegt: "If .WaitForResponse(timeout) Then"

Gruß Klaus
 

tester25

Mitglied
Mitglied seit
23 Feb 2010
Beiträge
741
Punkte für Reaktionen
5
Punkte
18
Mit der Funktionsweise bzgl. der Makros kenne ich mich zwar nicht aus, aber vielleicht hilft euch dieser Hinweis in Bezug auf die Mac-Kompatibilität des Scripts:

Gemeinsame Codebasis: Office für Mac soll schneller zu Windows-Pendant aufschließen
https://m.heise.de/mac-and-i/meldung/Gemeinsame-Codebasis-Office-fuer-Mac-soll-schneller-zu-Windows-Pendant-aufschliessen-3946518.html

Eventuell wird also mit der neuen Version für Mac gar keine spezielle Programmierung mehr nötig, weil die Funktionen an die Windows-Version angeglichen wurden.
 

meierchen006

Aktives Mitglied
Mitglied seit
7 Jun 2007
Beiträge
1,006
Punkte für Reaktionen
40
Punkte
48
Hallo,

@Klaus60
ja erst musst du ganz links in Spalte deine IP Adresse stehen oder fritz.box.
Du musst natürlich dann auch in deinem Heimnetz angemeldet sein, vom Gastnetz aus funktioniert das natürlich nicht.

Wenn dass passiert ist Box -> Info drücken die Excel Datei nimmt die Daten von deiner Fritzbox.
Danach Boxinfo -> Update und der Softwarestand wird mit dem Internet abgeglichen.
Sollte es eine neuere geben wird hinten in Spalte U eine neue Software angezeigt.

Ist aber auch alles in #1 erklärt.
 
  • Like
Reaktionen: Klaus60

Klaus60

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
185
Punkte für Reaktionen
0
Punkte
16

HabNeFritzbox

IPPF-Urgestein
Teammitglied
Mitglied seit
12 Dez 2017
Beiträge
15,112
Punkte für Reaktionen
191
Punkte
63
Gehe mal in die Optionen von Excel, Trust Center -> Makro Einstellungen, dort Punkt auf "Makros mit Benachrichtigung deaktivieren".

So bekommst eine Meldung, und musst dem Zustimmen. Man könnte die auch generell immer zulassen, wird aber nicht empfohlen.

Edit: Nach Gespräch mit Klaus60 lag es an Beispiel Vorgaben in Tabelle die zum Fehler führen.

Man sollte besser nur "fritz.box" nennen, und in Info statt n/a ein Text von wegen "kein Update verfügbar".
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Klaus60

Klaus60

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
185
Punkte für Reaktionen
0
Punkte
16
Von HabNeFritzbox habe ich den Tip bekommen die nicht existierenden Boxen zulöschen und nun habe ich auch keinen
Laufzeitfehler mehr - Nochmals vielen Dank für die schnelle Hilfe.
Nun wiil ich noch sehen ob ich die Änderung von meierchen006 einbauen kann.

Also in die Zeilen A2 ActiveSheet.Range("A2").Value = "Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")
Und in die Zelle T1 ActiveSheet.Range("T1").Value = "Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")
einfügen. Verstehe nur noch nicht wohin mit END und SUB.
Sorry für meine Anfängerfragen.

Gruß Klaus
 

japes

Neuer User
Mitglied seit
17 Mai 2010
Beiträge
187
Punkte für Reaktionen
5
Punkte
18
Hi Klaus,

nein. nicht in die Zellen. Das muss ins Makro selbst.
Die Tabelle öffnen und ALT + F11 drücken. Links oben Doppelklick auf Modul 1. Nach den Deklarationen kommen die 2 Makros (für jeden Button Eins)
Das Ende des Makros ist 'End Sub'. davor die jeweilige Codezeile, um den Zeitstempel zu setzen.

Da es für mich 'sinniger' ist, dass ich nur einen einzigen Button habe, schrieb ich das Makro nochmals leicht um und entfernte den rechten Button. Ans Ende des ersten Makros dann den Aufruf des zweiten Makros und an dessen Ende den Code für den Zeitstempel
Ende erstes Makro:
...
End With
End If
Next box

Call GetInfosFromAVM

End Sub

Sub GetInfosFromAVM()
Dim boxes As Range, box As Range, reqs() As New MSXML2.ServerXMLHTTP60, resp As String

Set boxes = Range("BoxInfo_Tab[juis?]")
ReDim reqs(boxes.Count)
...
End If
Next box

ActiveSheet.Range("T2").Value = "letzte Abfrage: " & Format(Now(), "dd.mm.yyyy hh:mm:ss")

If Range("U2").Value > Range("G4").Value Then
MsgBox "Update verfügbar.", vbInformation
Else
MsgBox "Version ist aktuell.", vbInformation
End If

End Sub


Hab dann auch gleich noch ne Messagebox eingebastelt, die schreit, wenn ne neuere Version da ist oder eben die Firmware der Fritzbox aktuell ist. (Vergleich der Buildnummern)
Der linke Button führt somit gleich beide Makros nacheinander aus. Wer mehr Zeilen in der Tabelle hat, muss natürlich dementsprechend den Code anpassen.
 

Anhänge

Zuletzt bearbeitet:

Klaus60

Neuer User
Mitglied seit
14 Feb 2007
Beiträge
185
Punkte für Reaktionen
0
Punkte
16
Habe noch den Repeater eingebaut und nun klappt alles.
Dank Deiner Erklärung kann ich zumindest einiges nachvollziehen.
Nochmals vielen Dank für die Hilfe und "Nachhilfe".

Gruß Klaus
 

3CX PBX - GRATIS
Linux / Win / Cloud

Neueste Beiträge

Statistik des Forums

Themen
232,379
Beiträge
2,021,772
Mitglieder
349,985
Neuestes Mitglied
orkinos