Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.
If you accept this notice, your choice will be saved and the page will refresh.
Das erwartet dich in diesem Artikel
Voraussetzung
Damit ioBroker automatisch neue Updates anzeigt, musst du im Admin-Adapter unter Haupteinstellungen die Funktion Auf Updates prüfen aktivieren:
Trigger
Zuerst musst du ein neues Blockly-Script anlegen. Als Aktor wählst du den Trigger „falls Objekt“:
Als „Object ID“ wählst du unter „admin.0“ den State „updatesNumber“ unter „info“. Dieser Datenpunkt enthält die Anzahl der zu aktualisierenden Adapter als Zahl. Den Trigger stellst du auf „ist größer als letztes“:
Benachrichtigung
Dann ziehst du dir einen neuen „SendTo“-Block (in diesem Beispiel mit „Pushover“). Stecke an „Meldung“ einen „erstelle Text aus“-Block und an dessen ersten Eingang einen weiteren „Text“-Block. Diesen kannst du nach Belieben füllen. Um die Namen der Update-Adapter zu erhalten, ziehst du dir aus dem Bereich „System“ den Block „Wert von Objekt ID“ an den zweiten Eingang und stellst ihn auf den Datenpunkt „admin.0.info.updateList“:
Da der Datenpunkt, auf den der Trigger reagiert, vor dem Datenpunkt aktualisiert wird, der die Namen der zu aktualisierenden Adapter enthält, benötigst du abschließend einen „timeout“-Block, den du um den „sendTo“-Block setzt. Nach Ablauf des Timeouts ist der Datenpunkt dann auf jeden Fall korrekt gefüllt und kann im „sendTo“-Block verarbeitet werden. Mit einem Timeout von „5 Sekunden“ habe ich gute Erfahrungen gemacht:
Du kannst natürlich auch einen E-Mail, Telegram, Whatsapp oder Pushover-Block verwenden. Wie du diese Adapter einrichten kannst, erfährst du in diesem Artikel.
Nach dem Speichern wirst du ab sofort informiert, sobald ein oder mehrere Adapter-Updates vorhanden sind und erhälst eine Auflistung aller zu uktualisierenden Adapter.
Fertiges Script
Blockly
<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable type="timeout" id="timeout">timeout</variable>
</variables>
<block type="on" id="p6_{)#Rqe8C}:}TNMA4J" x="63" y="538">
<field name="OID">admin.0.info.updatesNumber</field>
<field name="CONDITION">gt</field>
<field name="ACK_CONDITION"></field>
<statement name="STATEMENT">
<block type="timeouts_settimeout" id="BCzuv+S^]``rZ2Q]@rvu">
<field name="NAME">timeout</field>
<field name="DELAY">5</field>
<field name="UNIT">sec</field>
<statement name="STATEMENT">
<block type="pushover" id="%*FlLb@zCw$GC$3btEC}">
<field name="INSTANCE">.0</field>
<field name="SOUND"></field>
<field name="PRIORITY">0</field>
<field name="LOG"></field>
<value name="MESSAGE">
<shadow type="text" id="BB58L]H`5zt]_YctMV.?">
<field name="TEXT">Es sind neue Adapter-Updates vorhanden.</field>
</shadow>
<block type="text_join" id="F;u[7W*#RG.G!~N6^dD`">
<mutation items="2"></mutation>
<value name="ADD0">
<block type="text" id="?;a(wK9)X4)S!h62bq^@">
<field name="TEXT">Es sind neue Adapter-Updates vorhanden: </field>
</block>
</value>
<value name="ADD1">
<block type="get_value" id="cj):pU9b85MX9NZ{kC6u">
<field name="ATTR">val</field>
<field name="OID">admin.0.info.updatesList</field>
</block>
</value>
</block>
</value>
<value name="TITLE">
<block type="text" id="N%P5L6.AkhdDIh$Ht*7x">
<field name="TEXT">ioBroker</field>
</block>
</value>
</block>
</statement>
</block>
</statement>
</block>
</xml>
2 Kommentare
Kommentierenich habe das so gemacht, aber die Benachrichtigungen kommen erst wenn man auf der Webseite vom IOBroker auf Info klickt. Das ist auch bei anderen so. Was kann man da machen?
Hallo Rene, die Meldung kommt erst, wenn ioBroker die Quellen (automatisch, aber unregelmäßig) aktualisiert. Das kann manchmal etwas dauern, aber sie kommt auf jeden Fall.