ioBroker.fb-checkpresence
ioBroker.fb-checkpresence copied to clipboard
DP new Device
in den Logs bekommt man eine Info wenn sich ein neue Gerät angemeldet hat! `
fb-checkpresence.0 | 2022-01-13 20:31:43.529 | info | New interface found: |
---|
ist es möglich das als Datenpunkt zu bekommen mit vergebener ip adresse?
Hallo, das neu gefundene Interface wird unter fb-devices zum Device schon als Ordner mit Datenpunkten angelegt.
Die IP-Adresse ist am Device.
Oder was meinst Du genau?
möchte den Namen sowie die Ip Adresse des neuen Gerätes als Telegram Nachricht versenden um nicht immer schauen zu müssen wie die Ip Adresse des neuen Gerätes ist.
Quasi ein DP "newDevice:Name-IP" um ihn verwenden zu können.
Evtl. wird es auch mit Blockly funktionieren "id von Selector"?
Neue Devices werden über die Blacklist gemeldet. In der Whitelist alle anhaken und dann werden neue in der Blacklist gemeldet.
also bei allen fb-checkpresence.0.fb-devices whitelist auf true setzen? ich habe 185 Devices!?!
Ich könnte doch die fb-checkpresence.0.blacklist.listJson auswerten!?! Wird ein neues Gerät immer am Ende der Liste eingefügt?
In der Kopfzeile auf die Checkbox klicken. Dann sind alle markiert. Neue werden dann unter Blacklist gemeldet. Danach kann dann das neue in die Whitelist aufgenommen werden.
Hallo, hast Du das mal mit der Blacklist ausprobiert?
Ja habe ich. Ist mir dann doch etwas zu umständlich bei einem neuen Gerät dann dieses in die Whitelist hinzuzufügen. Ich meine, ja! Ist nicht oft der Fall, aber dann wird noch ein Blockly benötigt das gescheit funktioniert (nicht wie bei mir). Mein Gedanke war eigentlich, dass es einfach wäre umzusetzen, da es in der Log eigentlich schon auftaucht. Immer nur das letzte Gerät das erkannt wird mit Ip als DP :)
Sinn ist es ja zu überprüfen, ob das Gerät in der Blacklist bekannt ist und das zu bestätigen in der Whitelist. In der Jason Tabelle wird das Gerät ja angezeigt. Was brauchst du da noch mehr? Wofür das Script?
wenn es ein DP geben würde mit dem letzten neuen Gerät, könnte ich den einfach ohne script als Telegram Nachricht versenden lassen. So muss ich die Json auswerten und die Auswertung dann als Telegram Nachricht versenden. Geht das ohne Script?
Hallo,
in einem Durchlauf meines Adapters könnten mehrere Geräte neu im Netzwerk sein. Diese würden dann entsprechend in der Json Tabelle abgelegt.
Hier mal ein schnelles Javascript mit dem man Zeile für Zeile die Elemente auslesen kann und dann zb. mit Telegram versenden kann. Das Script wird ausgelöst, wenn sich die Json ändert. Das Log wird ausgegeben, wenn der Count sich erhöht hat. Falls man dann in der Whitelist ein Gerät als bekannt markiert, wird kein Log ausgelöst. Erst wieder, wenn der COunt sich erhöht.
const dp1 = "fb-checkpresence.0.blacklist.listJson"; const dp2 = "fb-checkpresence.0.blacklist.count"; let lastVal = 0;
on({id: dp1, change: 'ne'}, function (obj) { let dpVal = obj.state.val; let newVal = getState(dp2).val; if (lastVal < getState(dp2).val){ lastVal = newVal; if (dpVal != ''){ let json = JSON.parse(dpVal); let txt =''; json.forEach(function(x){ txt = txt + x.Hostname + ' ' + x['IP-Address'] + '\n'; log(x.Hostname + ' ' + x['IP-Address'] , "info"); }); /sendTo("telegram.0", "send", { text: txt });/ } }else{ lastVal = newVal; } });
also ein Script :) Ich werde es mal testen. Vielen Dank
Edit: Funktioniert wie beschrieben. Und das ist nicht als DP machbar? Ob ich das noch weis in einem Jahr, dass ich ein neues Gerät in die Whitelist einfügen muss :)