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

Installiere aufn Mac einfach Win10 ;)
 
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:
Das Abfragedatum ist doch gar nicht interessant.
Viel sinnvoller wäre es, in Spalte V das Erstellungsdatum der Update-Datei anzuzeigen (Version vom ...).
 
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
Ich war mal so frei, und habe Thema angepinnt. :)

Peter, dein Update Script ebenfalls.
 
@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.
 
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.
 
Vielen Dank für diese Erklärung. Diese wirre Verknüpfung war mich nicht bewusst.
 
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ß
 
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:
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
 
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/meldun...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.
 
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
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 von einem Moderator:
  • Like
Reaktionen: Klaus60
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
 
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

  • JUIS.zip
    33.2 KB · Aufrufe: 85
Zuletzt bearbeitet:
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
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.