ioBroker.fb-checkpresence icon indicating copy to clipboard operation
ioBroker.fb-checkpresence copied to clipboard

DP new Device

Open mczeus opened this issue 3 years ago • 11 comments

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?

mczeus avatar Jan 13 '22 19:01 mczeus

Hallo, das neu gefundene Interface wird unter fb-devices zum Device schon als Ordner mit Datenpunkten angelegt. Die IP-Adresse ist am Device. image

Oder was meinst Du genau?

afuerhoff avatar Jan 13 '22 22:01 afuerhoff

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"?

mczeus avatar Jan 14 '22 05:01 mczeus

Neue Devices werden über die Blacklist gemeldet. In der Whitelist alle anhaken und dann werden neue in der Blacklist gemeldet.

afuerhoff avatar Jan 14 '22 15:01 afuerhoff

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?

mczeus avatar Jan 15 '22 13:01 mczeus

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.

afuerhoff avatar Jan 15 '22 14:01 afuerhoff

Hallo, hast Du das mal mit der Blacklist ausprobiert?

afuerhoff avatar Feb 01 '22 19:02 afuerhoff

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 :)

mczeus avatar Feb 02 '22 05:02 mczeus

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?

afuerhoff avatar Feb 02 '22 06:02 afuerhoff

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?

mczeus avatar Feb 02 '22 16:02 mczeus

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; } });

afuerhoff avatar Feb 02 '22 20:02 afuerhoff

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 :)

mczeus avatar Feb 03 '22 05:02 mczeus