ich bekomme bei der Installation bzw. Update des Module die Fehlermeldung aus dem Screenshot, egal ob ich über den Modulstore gehen oder direkt vom GitHub.
IPS 5.3 unter Linux
Was kann ich machen, um das Modul zu aktualisieren, entfernen geht nämliche leider auch nicht mit selber Meldung.
Ich habs Problem jetzt unkonventionell beheben können, einfach den kompletten Ordner des Module gelöscht über den Store neu installiert, keien Fehlermeldung mehr.
ich bin seit Gestern glücklicher Besitzer von IP Symcon auf einem Raspberry und versuche nun vergeblich mir eine Map, über das hier beschriebene Modul, von Google anzeigen zu lassen. Ausser der Überschrift passiert da leider nichts.
Die Verbindungen zu Google klappt, der API Key funktioniert.
Wo genau muss ich nun weitere Einstellungen machen?
Das Unwetter Modul zeigt mir ein Bild und da finde ich auch wo ich die Paramter ändern kann. Hier stehe ich leider auf dem Schlauch.
Wäre sehr dankbar wenn mir jemand helfen könnte der dies versteht.LCN und Hue habe ich alles geschafft, nur diese MAP will nicht.
Was meinst Du mit dem Satz, hast Du das mit dem Test-Button in dem Modul überprüft?
Es gibt ja verschiedenen Typen von GoogleMaps-Karten und demzufolge verschiedene Funktionen in dem Modul.
Ich würde Dir empfehlen, mal die Test-Script aus dem Modul zum Laufen zu bringen, das sind Beispiele zu den verschiedenen unterstützten Karten-Typen.
Was ist „das Unwettermodul“ und wie zeigt es dir ein Bild? Im Web oder in IPS?
Wenn Du magst kannst Du ja mal etwas genauer beschreiben, was Du vorhast, was Du schon probiert hast, sinnvollerweise mit den entsprechenden Informationen/Code.
Den Verbindungstest mit Google habe ich mit dem Test button gemacht, der entsprechende auch die Rückmeldung gab, Instanz ist aktiv.
Und nun gehen schon meine Probleme los: Ich habe keinen Plan wie ich überhaupt irgendeinen Typ von Karte über ein Skript dort einbinde.
Bislang waren in den von mir genutzten Modulen (ohne Skriptanpassungen) alle Parameter über die Instanz zu setzen. Nun habe ich in diesem Fall leiden keinen Plan wo ich ein Skript einfügen kann/muss. Da bin ich einfach zu blöd für. Ich glaube mir fehlt einfach der Anfang wo ich da gucken muss.
Letztendlich soll es eine Karte mit dem Weg von Zuhause bis zur Arbeit anzeigen.
Das „Unwettermodul“ zeigt auch ein Bild wie beim integrierten Wetter vom DWD.
das GoogleMaps-Modiul stellt Funktionen (siehe README) zur Verfügung, um die passenden Karten beimGoogleMaaps zu erstellen.
Die Daten (also zB die Wehpunkte), muss man diesen Funktionen übergeben.
Je nach gewählter Funktion werde HTML erzeugt, die man in eine Variable vom Typ String mit dem Profil HTML-Box schreibet, das wird dann direkt dargestellt.
Oder (bei der dynamischen Karte) braucht man einen WebHook, um diesen Typ dynamische zu erzeugen.
Ich möchte nichmal auf die Beispiel-Scripte hinweisen.
je nachdem, wie frisch dein IPS ist (ich nehme an 5.2) gibt es auf der Konfigurationsseite des Moduls einen Link zur Doku. Alternativ kann man ja auch direkt in das GIT-Repository GitHub - demel42/IPSymconGoogleMaps: Interface for GoogleMaps API to create simple Maps gehen.
Im README sind alle Typen erklärt und haben den Verweis auf das passende Script (unterhalb vom Verzeichnis doc im Repository).
Gruß
demel
PS: „das Umweltmodul“ sagt mir weiterhin nichts, aber so wie es sich anhört wird da ja eine fertige externe Webseite (des DWD) mit einem Bild eingebunden. Du willst ja aber selbst so eine Karte erstellen oder genauer gesagt einen bestimmten Kartenausschnitt mit eigenen Wegmarken etc. versehen - dafür gibt’s eben u.a. GoogleMaps
Aber ich als Neuling habe bislang nicht Verstanden WO ich bei mir im Symcon das/die Skript/e für das Modul ablege so das es darauf den Zugriff bekommt.
Bei der Google Instanz, kann ich ja nur direkt den API Key hinterlegen. Ich stehe auf dem Schlauch was die Skripte angeht. Deren Anpassungen würde ich schon hinbekommen, doch wo (ich habs auf nem PI laufen) müssen die Skripte / Konfigurationsdateien für das Modul, bzw. die Instanz, abgelegt werden, damit es dann bereitgestellt wird?
Ok,
das sind ganz normale Script, nicht Modul-spezifisch. Die Verbindung eines Scripts mit dem Modul (bzw. korrekterweise der Instanz des Moduls) erfolgt über die Objekt-ID (jedes Objekt in IPS hat eine eindeutige ID) - bei einer Instanz auch Instanz-ID genannt. Diese wird den Modul-spezifischen Funktionen immer als 1. Argument übergeben.
Ich würde wie folgt vorgehen
du legts ein Script an, Position im Objektbau ist egal, sinnvollerweise macht man natürlich entsprechende Verzeichnisse (Kategorien genannt), z.B. Test.
In dieses leere Scripts kopierst Du den Inhalt von docs/GoogleMaps_GenerateStaticMap.php
Dann legst Du eine Variable an von Typ String und Profil ~HTMLBox
In dem Script passt Du dann folgende ID’s an
a) die Instanz-ID (GoogleMaps-Instanz markieren, rechts Maustaste -> Objekt-ID kopieren)
$url = GoogleMaps_GenerateStaticMap(1234 /* ID von GoogleMaps-Instanz */, json_encode($map));
und trägst das als erstes Argument zu dieser Funktionen (also ersetzt 1234 /* ID von GoogleMaps-Instanz */)
b) die o.g. Variable anstelle von 4711 /* ID von HtmlBox-Variable.
SetValueString(4711 /* ID von HtmlBox-Variable */, $html);
Script speichern und ausführen.
Dann sollte in der Variablen HTML-Code stehen und wenn Du die im Webfront betrachtest sollte da eine Karte zu sehen sein mit einer kleinen Route.
jetzt verständlicher?
Ich habe vorausgesetzt, das Du dich grundsätzlich in die Struktur von IPS schon eingelesen hast und das so ein Script dir nicht ganz fremd ist.
hur nochmal mal zur Klarstellung: alle Instanzen, Variablen, Scripte etc werden über die WebConsole angelegt und von IPS verwaltetet.
Physikalisch liegen die (auf einem Linux-System unter /var/lib/symcon und die Logfiles unter /var/log/symcon.
Nur (zumindestens am Anfang):sollte man alle Arbeiten über die WebColsole machen, damit die Integrität des Systems gewährleistet ist.
Siehe auch Grundlagen IP-Symcon :: Automatisierungssoftware
Das sollte mir weiterhelfen, das war was mir fehlte. Habe Symcon erst seit 26 Stunden und habe noch nicht alles durch und wollte mal wieder schneller sein als die Polizei erlaubt.
Funktioniert alles so wie es soll, aber einen hätte ich noch:
Was kann ich gegen diese Warnung machen (kommt sobald ich traffic einblende):
Warning: Use of undefined constant traffic - assumed ‚traffic‘ (this will throw an Error in a future version of PHP) in /var/lib/symcon/scripts/20462.ips.php on line 78
Wie sieht denn das Skript gesamt (20462) und insbesondere die Zeile 78 aus? Ohne das Du was postest ist das Glaskugel lesen, da must Du schon etwas ins Forum posten, wenn man Dir konkret einen Hinweis geben soll.
Es handelt sich hier um das Demo Skript von demel, welches im Git hinterlegt ist (GoogleMaps_GenerateDynamicMap_WebHook.php) mit entsprechenden Koordinaten wo ich wohne.
In seinem Skript ist die Zeile (186) für die Map Layers auskommentiert, doch da wollte ich den Verkehrsstatus angezeigt bekommen, was auch funktioniert mit den Anpassungen die ich gemacht habe.
Die Karte wird vollständig angezeigt, halt nur mit dem Warning
Warning: Use of undefined constant traffic - assumed ‚traffic‘ (this will throw an Error in a future version of PHP) in /var/lib/symcon/scripts/20462.ips.php on line 78
oberhalb der Karte.
Hier nun die letzten Zeilen aus dem Skript.
Das fett und unterstrichene „traffic“ in Zeile 83 habe ich in die eckigen Klammer eingetragen und die // am Anfang entfernt, so das die Verkehrsmeldungen nun angezeigt werden.
Ich habe mich mit diesem schönen Modul von demel42 beschäftigt und bin recht weit gekommen. Zum Verständnis und damit ich es richtig einsetzen kann, hätte ich noch ein paar Fragen:
Ich habe das jetzt so verstanden und auch schon anhand der Beispiele nachgestellt, dass mit GenerateDynamicMap eine dynamische Karte erzeugt wird. In dem Beispiel sind ja feste Punkte angegeben. Kann man das auch so nutzen, um eine Route darzustellen?
Weiterhin habe ich mit GetDistanceMatrix die Ergebnisse aus einer Routenplanung in einem JSON-String. Hier hapert es noch, dass ich daraus die einzelnen Werte zu Variablen zuweisen kann.
Insgesamt würde ich gern in 2 String-Variablen den Start- und den Zielort eintragen (oder der kommt aus anderen Anwendungen automatisch dort hinein), ggf. in weiteren Variablen noch Parameter für das Routing und die Kartendarstellung, und daraus dann eine Karte mit der angezeigten Route und mit Variablen für z.B. Fahrtzeit, Entfernung…
Ich habe vieles schon einzeln gesehen, nur kriege ich es irgendwie nicht so hin wie ich mir das wünsche.
dieses Modl ist ja nur ein Interface zu einigen der GoogleMap-API’s. Dabei werden soweit möglich, die Steuerparameter weitergegeben.
Hier ( Google Maps Platform  | Google Developers ) kann man am besten nachlesen, welche API am besten geeignet ist bzw. welche Optionen es gibt - die Doku ist allerdings ziemlich komplex.
Hinwis: de DynamicMap nutzt die „Maps JavaScript API“; im Prinzip produziere ich die HTML-Seite mit dem JavaScript-Code.
Die anderen von mir unterstützten API’s sind einfacher.
Mit Routen habe ic bisher nichts zu tun gehabt, aber ein schnelle Blick scheint mit auf die DirectionServices der DynamicMap hinzudeuten. Die habe ich (noch) nicht implementiert.
Was die Suche nach Ortsangaben angeht … scheint bei dem DirectionService möglich zu sein, ansonst muss man immer die Goe-Koordinaten angeben.
Bevor ich mich damit beschäftige, müsstest Du Dir das mal genauer anschauen und mir sagen, ob das ausreicht oder was du sonst habe willst. Dann kann ich gerne schauen, ob ich das in das Modul mit integrieren kann.