NEWS
mal wieder benötige ich Hilfe bei einer Umsetzung :-)
-
Hallo Leute, ich habe hier dieses Skript und lass mir eine text Nachricht senden welche adapter ein update brauchen wenn eines verfügbar ist. leider ist es im moment so das, wenn ich eine Nachricht bekomme dann nur 1 adapter als name drin steht. sobald es mehrere adapter zum updaten sind, bekomme ich nur die Nachricht das welche zum updaten sind nur halt ohne die jeweiligen Namen der adapter?!
Danke euch grüße
const id_updateanzahl = "admin.0.info.updatesNumber"/*Number of adapters to update*/; const id_updateadapter = "admin.0.info.updatesList"/*List of adapters to update*/; var updateanzahl = getState(id_updateanzahl).val; var updateanzahl = getState(id_updateanzahl).val; var updateadapter = getState(id_updateadapter).val; function updates() { if(updateanzahl > 0) { sendTo('telegram.0', { text: '+++ Update Verfügbar +++' + '\n' + '\n' + updateanzahl + " Adapter zum Updaten" + '\n' + updateadapter, reply_markup: { keyboard: [['Update RPI']], resize_keyboard: true, one_time_keyboard: true } }); setState(id_updateanzahl, 0); } } updates(); // Skriptstart on(id_updateanzahl, function(dp) { updateanzahl = dp.state.val; updates(); });
-
@fischi87 sagte in mal wieder benötige ich Hilfe bei einer Umsetzung :
admin.0.info.updatesNumber
setState(id_updateanzahl, 0);
das ist ein Read-only state.
Geht doch :
.
..........................
mal wieder benötige ich Hilfe bei einer Umsetzung
Der Thread Titel ist nicht gerade aussagekräftig .
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge -
@fischi87 sagte: ohne die jeweiligen Namen der adapter?!
Die Variable updateadapter wird nur bei Skriptstart gefüllt und danach nicht mehr.
-
danke für deine antwort aber bei mir sieht das so aus:
-
wie meinst du? sollte ich es anders schreiben?
-
-
danke läuft so erstmal.
wäre es nicht denkbar möglich direkt buttons zu erstellen in telegram von den Adaptern die ein update benötigen und den jeweiligen exec dann auszuführen?
-
@fischi87 sagte in mal wieder benötige ich Hilfe bei einer Umsetzung :
Adaptern die ein update benötigen und den jeweiligen exec dann auszuführen?
Das würde ich persönlich nicht machen , ein Update per Telegram oder per manuellen Button in Vis.
Man weiß ja nicht was dann passiert , bzw. so hat man jedes Update unter Kontrolle . -
@fischi87 sagte: direkt buttons zu erstellen in telegram
Mit telegram kenne ich mich nicht aus.
-
@paul53 sagte in mal wieder benötige ich Hilfe bei einer Umsetzung :
@fischi87 sagte: sollte ich es anders schreiben?
Zeile 14:
'\n' + getState(id_updateadapter).val,
hallo paul, heute kam wieder eine nachricht aber wieder ohne namen des adapters, hatte dein zeile eingefügt gehabt?!
-
@fischi87 sagte: heute kam wieder eine nachricht aber wieder ohne namen des adapters
Dann enthält der Datenpunkt zu dem Zeitpunkt keine Adapternamen. Du solltest "updatesList" als Trigger verwenden, denn der wird nach "updatesNumber" aktualisiert.
-
ah okay werd ich heute abend mal umsetzen danke.
-
@glasfaser sagte in mal wieder benötige ich Hilfe bei einer Umsetzung :
@fischi87 sagte in mal wieder benötige ich Hilfe bei einer Umsetzung :
Der Thread Titel ist nicht gerade aussagekräftig .
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge...und den kann man auch editieren und somit nachträglich aussagekräftiger machen.
-
@paul53 hab auch die list getriggert aber da bekomme ich keine Nachricht mehr ?!
const id_updateanzahl = "admin.0.info.updatesNumber"/*Number of adapters to update*/; const id_updateadapter = "admin.0.info.updatesList"/*List of adapters to update*/; var updateanzahl = getState(id_updateanzahl).val; var updateadapter = getState(id_updateadapter).val function updates() { if(updateanzahl > 0) { sendTo('telegram.0', { text: '+++ Update Verfügbar +++' + '\n' + '\n' + updateanzahl + " Adapter zum Updaten" + '\n' + getState(id_updateadapter).val, reply_markup: { keyboard: [['Update RPI']], resize_keyboard: true, one_time_keyboard: true } }); setState(id_updateanzahl, 0); } } updates(); // Skriptstart on(id_updateadapter, function(dp) { updateadapter = dp.state.val; updates(); });
-
@fischi87 sagte: bekomme ich keine Nachricht mehr ?!
Es muss auch updateanzahl aktualisiert werden.
const id_updateanzahl = "admin.0.info.updatesNumber"/*Number of adapters to update*/; const id_updateadapter = "admin.0.info.updatesList"/*List of adapters to update*/; var updateadapter = getState(id_updateadapter).val function updates() { let updateanzahl = getState(id_updateanzahl).val; if(updateanzahl > 0) { sendTo('telegram.0', { text: '+++ Update Verfügbar +++' + '\n' + '\n' + updateanzahl + " Adapter zum Updaten" + '\n' + updateadapter, reply_markup: { keyboard: [['Update RPI']], resize_keyboard: true, one_time_keyboard: true } }); setState(id_updateanzahl, 0); } } updates(); // Skriptstart on(id_updateadapter, function(dp) { updateadapter = dp.state.val; updates(); });