NEWS
[Gelöst]: Anzeige Wetter ICONs funktioniert nicht!
-
Hm, habe es auch mal versucht, aber komme irgendwie nicht wirklich weiter. Alles brav nach Anleitung gemacht, aber die Bilder werden nicht angezeigt. Warum auch immer, werden die Objekte nicht (z.B. WeatherSymbol0 ) mit Werten gefüllt. Bleiben einfach leer :? .
Eine Idee warum das so ist, bzw. wo der Fehler sein könnte?
-
Widget importiert
-
Pfade angepasst
-
Script unter common eingefügt (sowohl als JS als auch als TS)
-
Pfade zu den Bildern angepasst (sind via direktem Aufruf erreichbar)
-
Greife mit PC via Netzwerk auf iobroker zu
Vielen Dank
-
-
Mal blöd gefragt… Skript auch gestartet?
-
Ja, ist grün und gibt auch eine Meldung über hinzugefügte Objekte aus.
-
Bedeutet du siehts die Icons in deinem VIS View nicht?
Den „DasWetter“ Adapter hast du konfiguriert und da kommen Daten?
-
Richtig. Da unter Objekte -> Weather… kein Wert eingetragen wird. Wenn ich diesen von Hand eintrage, erscheint auch das Bild.
-
Antwort zu meiner zweiten Frage?
Und welche Pfade hast du angepasst im Skript zu den Icons?
-
Ja.
Habe var temp = 'http://127.0.0.1:8082/daswetter/icons/wetter/' + symbol + 'f.png'; durch var temp = 'http://172.16.1.41:8082/vis.0/main/dasw … ns/wetter/' + symbol + 'f.png'; ersetzt.
Bei einem Aufruf von http://172.16.1.41:8082/daswetter/icons/wetter/%273f.png wird das Bild auch angezeigt.
-
Den „DasWetter“ Adapter hast du konfiguriert und da kommen Daten? `
Zitiere mich mal selbst
-
Ja, alles gut von der DasWetter Seite. Die Werte sind vorhanden und ändern sich auch.
-
Die „172.x.x.x“ IP…. ist die vom iobroker Rechner aus erreichbar oder ist das dein iobroker ?
Ich werde das Thema mal auftrennen um den Eigentlichen Thread nicht mit Fehlersuche voll zu laden.
-
Ok. Vielen Dank. Ist die ip vom iobroker.
-
Kannst du bei der IP mal wieder die „127.0.0.1“ eintragen.
Wenn ich das richtig verstehe hast du die Icons ja eh auf deinen Iobroker Rechner kopiert.
Habe das Skript nicht so im Kopf aber es kann sein das die Objekte auch erst gefüllt werden wenn sich bei „DasWetter“ etwas geändert hat.
-
ich schätze mal du hast keinen Account kreiert und deshalb bekommst mit dem Link den du im Adapter hast auch keine Daten
Link hier
-
ich schätze mal du hast keinen Account kreiert und deshalb bekommst mit dem Link den du im Adapter hast auch keine Daten
Link hier
Eigentlich kann es das nicht sein denn er hat das geschrieben:
Ja, alles gut von der DasWetter Seite. Die Werte sind vorhanden und ändern sich auch. `
Kannst du mal screenshots deiner Objekte vom "DasWetter" Adapter und dem Script sowie dein geändertes Script Posten.!
-
Also, sieht teilweise gut aus.
1.) Die 127.0.0.1 muss auf die ip-Adresse des iobroker geändert werden.
2.) Der Pfad zu den Icons muss auch angepasst werden
Wenn ich nun den Wert für SymbolID von Hand ändere, erscheint auch das richtige Icon. Muss jetzt nur noch schauen, welche rewrite.Rule angepasst werden muß, damit es auch extern funktioniert.
Gruß
Rüdiger
-
Also, sieht teilweise gut aus.
1.) Die 127.0.0.1 muss auf die ip-Adresse des iobroker geändert werden.
2.) Der Pfad zu den Icons muss auch angepasst werden `
Also ich glaube nicht das die IP angepasst werden muss im allgemeinen. Vielleicht ist es bei deiner Installation / Konstellation so.
Der Pfad muss angepasst werden wenn man einen anderen Pfad für die Icons verwendet als der User "fibernet".
Aber du machst das schon!
Weiterhin Viel Erfolg
-
Vielen Dank. Das Problem, so glaube ich, das 127.0.0.1 auch an den Client übertragen wird. Die steht bei dem Client in den Eigenschften vob dem Bild drin, und somit kann das Bild nicht angezeit werden. Jetzt steht die 172er drin, was aber nur im lokalem Netz funktioniert. Bei Zugriff von extern steht leider die 172er drin, was dann natürlich auch nicht funktionieren kann. Mit rewrite has es bis dato noch nicht funktioniert.
Link für das Bild von extern:
![](http://172.16.1.41:8082/vis.0/main/daswetter/icons/wetter/3f.png)
-
Was meinst du mit "Extern" ?
Du hast doch irgendein System auf dem iobroker installiert ist, auf diesen Rechner hast du doch die icons kopiert und auch in diesem iobroker läuft dein "DasWetter" Adapter und das "script", oder?
Dann nutzt du einen weiteren Rechner und greifst mit einem Browser auf die IP deines iobroker Rechners zu.
Z.B. Admin 172.16.1.41:8081 wobei das eigentlich nicht wie eine Private Adresse klingt
Oder wie sieht dein Netzwerk Setup aus?
-
Problem gelöst. Sowohl im loaken NEtzwerk, als auch über internet.
Setup:
ioBroker-PC <-> Reverse Proxy <-> Fritzbox <-> Internet
ioBroker-PC <-> Interne PCs
Die Lösung im Script:
Von
var temp = 'http://172.16.1.41/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
auf
var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
geändert.
Macht Sinn, oder? Dann wird nicht der absolute Pfadsondern der relative Pfad für das Bild genommen.
-
Also http und ip-Adresse weglassen und den Pfad zu den Bildern anpassen….
! createState('WeatherSymbol0', '');
! createState('WindSymbol0', '');
! createState('WeatherSymbol1', '');
! createState('WindSymbol1', '');
! createState('WeatherSymbol2', '');
! createState('WindSymbol2', '');
! createState('WeatherSymbol3', '');
! createState('WindSymbol3', '');
! createState('WeatherSymbol4', '');
! createState('WindSymbol4', '');
! createState('WeatherSymbol5', '');
! createState('WindSymbol5', '');
! createState('WeatherSymbol6', '');
! createState('WindSymbol6', '');
! createState('WeatherSymbol7', '');
! createState('WindSymbol7', '');
! on("daswetter.0.NextDaysDetailed.0d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol0', temp );
! });
! on("daswetter.0.NextDaysDetailed.0d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol0', temp);
! });
! on("daswetter.0.NextDaysDetailed.1d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol1', temp );
! });
! on("daswetter.0.NextDaysDetailed.1d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol1', temp);
! });
! on("daswetter.0.NextDaysDetailed.2d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol2', temp );
! });
! on("daswetter.0.NextDaysDetailed.2d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/aswetter/icons/viento-wind/galeria 2 - Beaufort//' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol2', temp);
! });
! on("daswetter.0.NextDaysDetailed.3d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol3', temp );
! });
! on("daswetter.0.NextDaysDetailed.3d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol3', temp);
! });
! on("daswetter.0.NextDaysDetailed.4d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol4', temp );
! });
! on("daswetter.0.NextDaysDetailed.4d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol4', temp);
! });
! on("daswetter.0.NextDaysDetailed.5d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol5', temp );
! });
! on("daswetter.0.NextDaysDetailed.5d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol5', temp);
! });
! on("daswetter.0.NextDaysDetailed.6d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol6', temp );
! });
! on("daswetter.0.NextDaysDetailed.6d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol6', temp);
! });
! on("daswetter.0.NextDaysDetailed.7d.SymbolID", function(obj) {
! var symbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/wetter/' + symbol + 'f.png';
! log (temp);
! setState('WeatherSymbol7', temp );
! });
! on("daswetter.0.NextDaysDetailed.7d.WindSymbolB", function(obj) {
! var windsymbol = parseInt(obj.newState.val, 10);
! var temp = '/vis.0/main/daswetter/icons/viento-wind/galeria 2 - Beaufort/' + windsymbol + '.png';
! log (temp);
! setState('WindSymbol7', temp);
! });