NEWS
Wunsch: Pollenflug-(Adapter/wasauchimmer)
-
Mit speichern meine ich den Button über dem Script.
Die rot umrandeten Zeilen sorgen dafür, dass das Script beim Speichern, Adapter Neustart, IOBroker Naustart, etc. ausgeführt wird.
Bitte kommentiere diese beiden Zeilen mal wie im Bild aus ("//" voranstellen) und schau mal ob es jetzt wirklich nur wie scheduled läuft.
-
Hallo,
ich nutze dieses Script.
! ```
`// ########################################################################################################
// Polleninfo auswerten heute und die nächsten Tage
// Version 1.4
// ########################################################################################################
! /**************************************************************************************************- Initiale Optionen
**************************************************************************************************/
interface iRequestOptions {
url: string;
headers: any;
}
! var baseUrl: string = "https://www.wetteronline.de/pollen/bad-arolsen";
var baseObjPath: string = 'wetter.pollenvorhersage';
! /**************************************************************************************************- Globale TypeScript Definitionen
*************************************************************************************************/
// -----------------------------------------------------------------------------
/ Die folgenden Funktionen sind bei mir in einem globalen script.
Wenn man diese global definieren will, muss man das lokal referenzieren mit:
declare function isPrimitive(obj:any):boolean
declare function logDebug(...param: any[]):void;
declare function logInfo(...param: any[]):void;
declare function logWarning(...param: any[]):void;
declare function logError(...param: any[]):void;
*/
! /**
- Function for check if a object is a primitive object (string, number, etc)
- @param obj any object to check if it is a primitive object
- @returns boolean which is true if object in parameter is a primitive object
*/
function isPrimitive(obj:any):boolean {
return (obj !== Object(obj));
}
! /**
-
write any objects given as parameter to log as debug
-
@param param a nist of different objects
/
function logDebug(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'debug');
}
}
! /**
-
write any objects given as parameter to log as Information
-
@param param a nist of different objects
/
function logInfo(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'info');
setState("javascript.0.Ereignisliste.event",'INFO|'+text.join(' '));
}
//logEnhanced(logtext, 'info');
//console.debug(p);
//logs(logtext,loglevels.debug);
}
! /**
-
write any objects given as parameter to log as warning
-
@param param a nist of different objects
/
function logWarning(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'warn');
setState("javascript.0.Ereignisliste.event",'WARN|'+text.join(' '));
}
//logEnhanced(logtext, 'warn');
//console.warn(p);
//logs(logtext,loglevels.warn);
}
! /**
-
write any objects given as parameter to log as error
-
@param param a nist of different objects
/
function logError(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'error');
setState("javascript.0.Ereignisliste.event",'ERROR|'+text.join(' '));
}
}
// ########################################################################################################
// Lokale TypeScript Definitionen
// ########################################################################################################
import request = require("request");
! var Pollenarten:string[] = ['Erle','Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia'];
var tageVorhersage = ['d0','d1','d2','d3','d4','d5'];
var tageVorhersageName = ['heute','morgen','übermorgen','heute + 3','heute + 4','heute + 5'];
! function stripTags(data:string):string {
return data.replace(/( |<([^>]+)>)/ig, "");
}
! function getDate(days: number): string { // Eingabe 0, 1, 2, ...
var jetzt = new Date();
jetzt.setHours(0);
jetzt.setMinutes(0);
jetzt.setSeconds(0);
jetzt.setMilliseconds(0);
var newdate = new Date();
newdate.setTime(jetzt.getTime() + (24 * 60 * 60 * 1000 * days) ); // heute + anzahl tage ins Millisekunden
var date :string = newdate.getDate().toString();
var month: string = (newdate.getMonth()+1).toString();
var year: string = newdate.getFullYear().toString();
date = (date.length < 2) ? '0' + date : date;
month = (month.length < 2) ? '0' + month : month;
var result:string = year+month+date;
logDebug('Datum in Link: ', result);
return (result); // Ausgabe z.B. 20160506
}
! function GetPollenIndex(pflanze:string, html:string):number {
var code ={'kein':0, 'schwach':1, 'mäßig':2, 'stark':3};
var result:string= "";
var start:number =html.indexOf(pflanze)+pflanze.length;result=html.slice(start); result=result.trim();
//logDebug('result for ',pflanze,html.slice(0,600));
var stop:number =result.indexOf(' ');
result=result.slice(0,stop);
logDebug('pflanze=',pflanze,'code=',result);
return code[result];
}! function initializePollenwetter(baseObj:string, name:string):void {
createState(baseObj,0,false, {
name: name,
type: "string",
role: 'json',
read: true,
write: false});
! for(var i=0;i<pollenarten.length;i++) {/createstate(baseobj/+/'.'/pollenarten[i].tolowercase(),0,false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/read:/true,/write:/false});/}/function/removeoldpollenwetter():void/for(var/i="0;i<Pollenarten.length;i++)" deletestate(baseobjpath/pollenarten[i].tolowercase());/readpollenwetterforday(day:number,/baseobj:string):void/logdebug("start");/try/var/options:irequestoptions="{" url:/((day="">0) ? baseUrl + '?fcdatstr=' + getDate(day) : baseUrl), // korrekten Link erstellen ,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
};
request(options, function (error, response, body):void {
if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
body=body.replace(/\t/g, ' ');
body=body.replace(/(\n|\r)/g, '');
var start:number =body.indexOf('</pollenarten.length;i++)>!
');
if (start>-1) { body=body.slice(start); }
body=stripTags(body);
//logDebug('body',body);
let pobj:any = {};
for(let i=0;i<pollenarten.length;i++) 0/5/{/let/pi:number="GetPollenIndex(Pollenarten[i],body);" pobj[pollenarten[i].tolowercase()]="pi;" setstate(baseobj+'.'+pollenarten[i].tolowercase(),pi);/}/setstate(baseobj,json.stringify(pobj));/else/loginfo("statuscode="+response.statusCode);
logError(error); // Error beim Einlesen
}
});
} catch (e) {
logError('Fehler (try) leseWebseite: ' + e);
}
}
! function readPollenwetter() {
for (let d:number = 0; d < tageVorhersage.length; d++) {
let path: string = baseObjPath + '.' + tageVorhersage[d];
initializePollenwetter(path, tageVorhersageName[d]);
readPollenwetterForDay(d, path);
}
}
! removeOldPollenwetter();
readPollenwetter();
schedule(" /",/readpollenwetter);<e=""></pollenarten.length;i++)>! [http://www.wetteronline.de/pollen/warstein](http://www.wetteronline.de/pollen/warstein) ! >! ~~[spoiler]~~
~~[code]~~javascript.0 2018-03-16 07:54:28.199 warn Object for state "wetter.pollenvorhersage.ambrosia" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.199 warn Object for state "wetter.pollenvorhersage.beifuß" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.198 warn Object for state "wetter.pollenvorhersage.wegerich" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.197 warn Object for state "wetter.pollenvorhersage.eiche" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.197 warn Object for state "wetter.pollenvorhersage.gräser" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.196 warn Object for state "wetter.pollenvorhersage.roggen" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.195 warn Object for state "wetter.pollenvorhersage.ampfer" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.194 warn Object for state "wetter.pollenvorhersage.buche" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.191 warn Object for state "wetter.pollenvorhersage.birke" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.190 warn Object for state "wetter.pollenvorhersage.ulme" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.189 warn Object for state "wetter.pollenvorhersage.weide" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.189 warn Object for state "wetter.pollenvorhersage.pappel" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.188 warn Object for state "wetter.pollenvorhersage.hasel" does not exist: Not exists
javascript.0 2018-03-16 07:54:28.186 warn Object for state "wetter.pollenvorhersage.erle" does not exist: Not exists[/code][/spoiler] ! >! ~~[spoiler]~~
~~[quote]~~javascript.0 2018-03-16 07:58:00.895 debug script.js.wetter.pollenflug: pflanze= Ulme code= kein
! javascript.0 2018-03-16 07:58:00.895 debug script.js.wetter.pollenflug: pflanze= Weide code= kein
! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Pappel code= kein
! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Hasel code= kein
! javascript.0 2018-03-16 07:58:00.894 debug script.js.wetter.pollenflug: pflanze= Erle code= schwach
!
!
!
! ``` - Initiale Optionen
-
Vielleicht waren die Objekte bei dir beim ersten Lauf noch nicht angelegt. Mal das Script gestoppt (grünen Pause knopf) und nochmal gestartet (roten Play Knopf)?
-
Hallo zusammen
Die Polleninfo interessiert mich auch sehr…
Bin aber in Sachen Skripte mit Java und das ganze Programmieren noch ein Anfänger!!
Ich brauche das eine Schritt für Schritt Anleitung! (eine für blöde)
Ich habe das Skript Genomen vom robsdods
@robsdobs:spoerl.torsten hat geschrieben:Hallo robsdops, erstmal danke für das Script so funktioniert es wieder mit der Pollenflug-Anzeige. Wollte noch fragen ob du das Script um die Tage morgen und übermorgen erweitern kannst so wie bei dem alten Script?Wäre super.Gruß TorstenJa ist möglich: `
! ```
`// ########################################################################################################
// Polleninfo auswerten heute und die nächsten Tage
// Version 1.4
// ########################################################################################################
! /**************************************************************************************************- Initiale Optionen
**************************************************************************************************/
interface iRequestOptions {
url: string;
headers: any;
}
! var baseUrl: string = "https://www.wetteronline.de/pollenvorhersage?gid=a4320";
var baseObjPath: string = 'wetter.pollenvorhersage';
! /**************************************************************************************************- Globale TypeScript Definitionen
*************************************************************************************************/
// -----------------------------------------------------------------------------
/ Die folgenden Funktionen sind bei mir in einem globalen script.
Wenn man diese global definieren will, muss man das lokal referenzieren mit:
declare function isPrimitive(obj:any):boolean
declare function logDebug(...param: any[]):void;
declare function logInfo(...param: any[]):void;
declare function logWarning(...param: any[]):void;
declare function logError(...param: any[]):void;
*/
! /**
- Function for check if a object is a primitive object (string, number, etc)
- @param obj any object to check if it is a primitive object
- @returns boolean which is true if object in parameter is a primitive object
*/
function isPrimitive(obj:any):boolean {
return (obj !== Object(obj));
}
! /**
-
write any objects given as parameter to log as debug
-
@param param a nist of different objects
/
function logDebug(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'debug');
}
}
! /**
-
write any objects given as parameter to log as Information
-
@param param a nist of different objects
/
function logInfo(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'info');
setState("javascript.0.Ereignisliste.event",'INFO|'+text.join(' '));
}
//logEnhanced(logtext, 'info');
//console.debug(p);
//logs(logtext,loglevels.debug);
}
! /**
-
write any objects given as parameter to log as warning
-
@param param a nist of different objects
/
function logWarning(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'warn');
setState("javascript.0.Ereignisliste.event",'WARN|'+text.join(' '));
}
//logEnhanced(logtext, 'warn');
//console.warn(p);
//logs(logtext,loglevels.warn);
}
! /**
-
write any objects given as parameter to log as error
-
@param param a nist of different objects
/
function logError(...param: any[]):void {
if (arguments.length > 0) {
var text:string[] = [];
for (var i = 0; i < arguments.length; i++) {
if (typeof arguments[i] === 'string' || arguments[i] instanceof String) {
text.push(arguments[i]);
} else if(arguments[i] === null) {
text.push('null');
} else if(arguments[i] === undefined) {
text.push('undefined');
} else if (isPrimitive(arguments[i])) {
text.push(arguments[i]);
} else {
text.push(JSON.stringify(arguments[i]));
}
//enum close bracket cannot be found in "channel[state.id=.TEMPERATURE](rooms=WZ|Wohnung|Wohnzimmer"}
log(text.join(' '), 'error');
setState("javascript.0.Ereignisliste.event",'ERROR|'+text.join(' '));
}
}
// ########################################################################################################
// Lokale TypeScript Definitionen
// ########################################################################################################
import request = require("request");
! var Pollenarten:string[] = ['Erle','Hasel','Pappel','Weide','Ulme','Birke','Buche','Ampfer','Roggen','Gräser','Eiche','Wegerich','Beifuß','Ambrosia'];
var tageVorhersage = ['d0','d1','d2','d3','d4','d5'];
var tageVorhersageName = ['heute','morgen','übermorgen','heute + 3','heute + 4','heute + 5'];
! function stripTags(data:string):string {
return data.replace(/( |<([^>]+)>)/ig, "");
}
! function getDate(days: number): string { // Eingabe 0, 1, 2, ...
var jetzt = new Date();
jetzt.setHours(0);
jetzt.setMinutes(0);
jetzt.setSeconds(0);
jetzt.setMilliseconds(0);
var newdate = new Date();
newdate.setTime(jetzt.getTime() + (24 * 60 * 60 * 1000 * days) ); // heute + anzahl tage ins Millisekunden
var date :string = newdate.getDate().toString();
var month: string = (newdate.getMonth()+1).toString();
var year: string = newdate.getFullYear().toString();
date = (date.length < 2) ? '0' + date : date;
month = (month.length < 2) ? '0' + month : month;
var result:string = year+month+date;
logDebug('Datum in Link: ', result);
return (result); // Ausgabe z.B. 20160506
}
! function GetPollenIndex(pflanze:string, html:string):number {
var code ={'kein':0, 'schwach':1, 'mäßig':2, 'stark':3};
var result:string= "";
var start:number =html.indexOf(pflanze)+pflanze.length;result=html.slice(start); result=result.trim();
//logDebug('result for ',pflanze,html.slice(0,600));
var stop:number =result.indexOf(' ');
result=result.slice(0,stop);
logDebug('pflanze=',pflanze,'code=',result);
return code[result];
}! function initializePollenwetter(baseObj:string, name:string):void {
createState(baseObj,0,false, {
name: name,
type: "string",
role: 'json',
read: true,
write: false});
! for(var i=0;i<pollenarten.length;i++) {/createstate(baseobj/+/'.'/pollenarten[i].tolowercase(),0,false,/name:/'pollenart/'+/pollenarten[i],/type:/"number",/role:/'value',/read:/true,/write:/false});/}/function/removeoldpollenwetter():void/for(var/i="0;i<Pollenarten.length;i++)" deletestate(baseobjpath/pollenarten[i].tolowercase());/readpollenwetterforday(day:number,/baseobj:string):void/logdebug("start");/try/var/options:irequestoptions="{" url:/((day="">0) ? baseUrl + '?fcdatstr=' + getDate(day) : baseUrl), // korrekten Link erstellen ,
headers: {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:40.0) Gecko/20100101 Firefox/40.1'
}
};
request(options, function (error, response, body):void {
if (!error && response.statusCode == 200) { // kein Fehler, Inhalt in body
body=body.replace(/\t/g, ' ');
body=body.replace(/(\n|\r)/g, '');
var start:number =body.indexOf('</pollenarten.length;i++)>!
');
if (start>-1) { body=body.slice(start); }
body=stripTags(body);
//logDebug('body',body);
let pobj:any = {};
for(let i=0;i<pollenarten.length;i++) 0/5/{/let/pi:number="GetPollenIndex(Pollenarten[i],body);" pobj[pollenarten[i].tolowercase()]="pi;" setstate(baseobj+'.'+pollenarten[i].tolowercase(),pi);/}/setstate(baseobj,json.stringify(pobj));/else/loginfo("statuscode="+response.statusCode);
logError(error); // Error beim Einlesen
}
});
} catch (e) {
logError('Fehler (try) leseWebseite: ' + e);
}
}
! function readPollenwetter() {
for (let d:number = 0; d < tageVorhersage.length; d++) {
let path: string = baseObjPath + '.' + tageVorhersage[d];
initializePollenwetter(path, tageVorhersageName[d]);
readPollenwetterForDay(d, path);
}
}
! removeOldPollenwetter();
readPollenwetter();
schedule(" /",/readpollenwetter);<e=""></pollenarten.length;i++)>`
! ``` - Initiale Optionen
-
Brauch ich da noch einen Adapter dazu (Parser)? `
Nur den Javascript Adapter.In diesem muss man aber "request" als "Zusätzliche NPM-Module" eintragen:
damit das übernommen wird in die Zeile "request" reinschreiben und danach erstmal [ENTER] Taste drücken. Danach mit speichern verlassen (hat mich einiges gekostet darauf zu kommen).In der Zeile 14 habe ich meine Seite eingetragen für Perg Österreich.
Muss ich da noch mehr eintragen? `
NeinZeile 9,10,11, und 14 bekomme ich noch eine Wahrung. `
Hast du den Enginetyp richtig?
Der Enginetyp Typescript ist nur bei neueren Versionen des Javascript Adapters auswählbar. Ich habe die 3.6.4 laufen.Von wo nehme ich die Werte? `
Wenn du das Script startest:
sollten im Tab Objete unter:javascript.0.wetter.pollenvorhersage
Pro Tag ein Ordner mit den Pollenarten auftauchen.
Es kann sein das nach dem ersten starten dort überall 0 steht. Da dauert es dann etwas oder dann nochmal das Script stoppen und wieder starten.
-
Vielleicht waren die Objekte bei dir beim ersten Lauf noch nicht angelegt. Mal das Script gestoppt (grünen Pause knopf) und nochmal gestartet (roten Play Knopf)? `
nein Leider hat es nichts gebracht.
verstehe es Richtig, das script zunehmen den Ort zu ändern, und zu speichern?
den Request habe ich gerade eingefügt.
Oder muss man noch was machen?
Gruß
-
verstehe es Richtig, das script zunehmen den Ort zu ändern, und zu speichern?
den Request habe ich gerade eingefügt.
Oder muss man noch was machen?
Gruß `
Nichts woran ich mich jetzt erinnere
Ich hatte bei mir auch mal "http://www.wetteronline.de/pollen/warstein" eingetragen und die Daten sind problemlos gekommen.
Hast du nach dem Eintragen vom "Request" mit Speichern die Einstellungen verlassen? Sollte dann etwas dauern, weil er das Modul im Hintergrund installiert. Vielleicht auch mal im Tab Log schauen ob alles geht.
Bitte danach die Adapter Einstellungen nochmal neu aufrufen ob das request immer noch drin steht. Ich hab bei mir mehrere Anläufe benötigt, weil das mit dem eintragen im Admin 3.x für mich nicht intuitiv war.
Wenn dort alles ok ist, das Script nochmal stoppen und starten. Danach nachschauen ob im Log irgendwelche Fehler auftauchen.
-
Hallo
Danke für die Tolle Anleitung.
@robsdobs:In diesem muss man aber "request" als "Zusätzliche NPM-Module" eintragen: `
ok~~@robsdobs:~~Hast du den Enginetyp richtig? `
ok~~@robsdobs:~~sollten im Tab Objete unter:javascript.0.wetter.pollenvorhersagePro Tag ein Ordner mit den Pollenarten auftauchen. `
ja sind da ….Aber beim Start des Skripte bekomme ich WARN
! ````
16:28:49.483
[info]
javascript.0 script.js.common.Polleninfo: compiling TypeScript source...
16:28:49.484
[info]
javascript.0 script.js.common.Polleninfo: TypeScript compilation successful
16:28:49.484
[info]
javascript.0 script.js.common.Polleninfo: registered 0 subscriptions and 1 schedule
16:28:50.219
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.222
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.226
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.229
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.232
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.236
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.239
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.242
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.245
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.247
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.252
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.256
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.260
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.263
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.267
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.270
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.275
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.278
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.281
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.283
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.286
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.289
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.291
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.294
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.298
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.302
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.305
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.308
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.311
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.313
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.316
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.319
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.322
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.324
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.326
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.328
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.331
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.333
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.336
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.337
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.340
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.342
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.344
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.346
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.348
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.351
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.353
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.364
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.366
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.367
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.369
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.371
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.373
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.375
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.376
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.378
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.380
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.381
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.383
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.385
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.386
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.388
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.389
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.391
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.392
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.394
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.395
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.397
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.398
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)
16:28:50.400
[warn]
javascript.0 at Request._callback (script.js.common.Polleninfo:252:21)ich glaube er bekommt keine Daten…oder?~~@robsdobs:~~ > Es kann sein das nach dem ersten starten dort überall 0 steht. Da dauert es dann etwas oder dann nochmal das Script stoppen und wieder starten ` habe ich schon mehrmals neu gestartet! Was hab ich da falsch gemacht?
-
habe nun die Daten geprüft was angezeigt werden.
für heute passt es …
aber für die folgenden Tage wird überall der wert 0 angezeigt.
auf der Homepage werden mehr angezeigt...
https://www.wetteronline.de/pollen?fcda … paraid=Max
Irgendwas geht da nicht!
Hilfe blicke nicht ganz durch!
-
habe nun die Daten geprüft was angezeigt werden.
für heute passt es …
aber für die folgenden Tage wird überall der wert 0 angezeigt.
auf der Homepage werden mehr angezeigt...
https://www.wetteronline.de/pollen?fcda … paraid=Max
Irgendwas geht da nicht!
Hilfe blicke nicht ganz durch! `
Ich hab es für deinen Standort mal nachvollzogen.Mkit deiner Adresse funktioniert es nicht: https://www.wetteronline.de/pollen?fcda … paraid=Max
Wenn man stattdessen folgende einträgt geht es: "https://www.wetteronline.de/pollen/perg";
Gruß
Robert
-
Wenn man stattdessen folgende einträgt geht es: "https://www.wetteronline.de/pollen/perg"; `
Vielen Dank für die tolle Unterstützung hier…nun funktioniert das sehr gut.
Danke für das tolle Skript.
ich habe es so gelöst
4668_unbenannt_18.png -
Hast du nach dem Eintragen vom "Request" mit Speichern die Einstellungen verlassen? Sollte dann etwas dauern, weil er das Modul im Hintergrund installiert. Vielleicht auch mal im Tab Log schauen ob alles geht. `
Jop ein tag gewartet, reingeschaut werte waren drin. Hat sich halt etwas geziert.
Jetzt habe ich noch eine Frage zum Vis.
Ist es möglich mir im Vis nur die Namen anzeigen zu lassen wo auch tatsächlich Pollenflug ist?
Ich stelle es mir so vor, ich habe eine Status Seite mit einem Grünen, Gelben, Roten Punkt. Jenachdem welche Pollen fliegen neben diesen Punkte steht was für pollen fliegen. Grün (für Status 1 Schwach….... etc)
Also sowas hier
Wie das der Kollege gemacht hat.
Gruß
-
Ob es mit vis direkt geht weiß ich nicht.
Wenn ich heute Abend Zeit finde, kann ich im Script auch noch eine Zusammenfassung pro Stufe für jeden Tag einfügen.
-
Für diese Version hat mir @derAuge ein zweites Script geschrieben, das im Prinzip die Ergebnisse des Hauptscripts in Kategorien sammelt.
Gruß
Rainer
-
Mein Kind schläft heute länger, daher hatte ich jetzt doch noch kurz zeit.
Ist jetzt im http://forum.iobroker.net/viewtopic.php?f=23&t=2799&p=119565#p119565 ab Version 1.5 mit drin.
Unter jedem Tag gibt es jetzt "count" mit der Anzahl je Kategorie, "text" und "html" mit einer Liste der Ergebnisse je Kategorie:
-
Hallo robsdobs,
Nachdem die alte Version leider nicht mehr läuft, wollte ich jetzt auch auf die ganz neue umsteigen:
läuft bei mir auf error.
Ich habe allerdings nicht mehr den ganzen Thread (eigentlich alles was du verzapft hast) gelesen.
Falls da irgendwelche Dinge vorher definiert werden müssen - Sorry dafür.
Gruß
Rainer
-
EDIT:
Hat sich soweit erledigt, ich hatte das npm modul request vergessen. :oops:
Allerdings bleibt es bei diesen Warnings:
18:44:03.393 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.394 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.394 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.396 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.397 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.398 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.398 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21)
Gruß
Rainer
-
Allerdings bleibt es bei diesen Warnings:
18:44:03.393 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.394 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) ```` `
Danke für den Hinweis, sollten jetzt mit der neuen https://forum.iobroker.net/viewtopic.php?f=23&t=2799&p=119565#p119565 weg sein.
-
Allerdings bleibt es bei diesen Warnings:
18:44:03.393 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) 18:44:03.394 [warn] javascript.0 at Request._callback (script.js.Pollenwetter_neu:279:21) ```` `
Danke für den Hinweis, sollten jetzt mit der neuen https://forum.iobroker.net/viewtopic.php?f=23&t=2799&p=119565#p119565 weg sein. `
Hallo Robert,vielen Dank für Dein Script - funktioniert bei mir auch wunderbar.
Kleine Info:
Die Warnmeldungen "Request._callback" bekomme ich jedoch auch noch mit dem aktuellen Script - Ursache scheint der Day6 (d6) zu sein - die Wettervorhersage ist mittlerweile wohl nur für 6 Tage (d0-d5) - Day6 (d6) ist aber wohl der 7.Tag.
javascript.0 2018-05-02 11:00:52.749 warn State "wetter.pollenvorhersage.d6" not found
Viele Grüße
-
Wenn man stattdessen folgende einträgt geht es: "https://www.wetteronline.de/pollen/perg"; `
Vielen Dank für die tolle Unterstützung hier…nun funktioniert das sehr gut.
Danke für das tolle Skript.
ich habe es so gelöst `
Sieht super aus. Wie hast du das erstellt? Bin selber noch in der Lernphase…
Gruß