NEWS
[Gelöst] ID oder Name eines State in Vis anzeigen
-
da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

Heizöl = Netzwerk
Bestelldaten = Gerät 1
Entladestellen = Gerätename
Heizölsorte = IP Adresseund das für jedes Gerät.
Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.
@Oliver-Böhm
und das ganze basiert auf den ping adapter und dessen inhalte - ist das richtig
-
@Oliver-Böhm
und das ganze basiert auf den ping adapter und dessen inhalte - ist das richtig
richtig, dadurch spare ich mir das VIS jedesmal manuell anzupassen, wenn ein zusätzliches Gerät dazu kommt, oder ausgetauscht wird.
-
@Oliver-Böhm
und das ganze basiert auf den ping adapter und dessen inhalte - ist das richtig
die IP Adresse habe ich schon mal erzeugt :grin:
var name = getObject(id).common.name;
var ip = id.replace(/_/g, ".");
var ip = ip.replace(/ping.0.iobroker-1./g, "");
log(id + " : " + name + " " + ip ); -
die IP Adresse habe ich schon mal erzeugt :grin:
var name = getObject(id).common.name;
var ip = id.replace(/_/g, ".");
var ip = ip.replace(/ping.0.iobroker-1./g, "");
log(id + " : " + name + " " + ip );@Oliver-Böhm
brauch noch ein wenig
-
da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

Heizöl = Netzwerk
Bestelldaten = Gerät 1
Entladestellen = Gerätename
Heizölsorte = IP Adresseund das für jedes Gerät.
Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.
@Oliver-Böhm sagte in ID oder Name eines State in Vis anzeigen:
da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

Heizöl = Netzwerk
Bestelldaten = Gerät 1
Entladestellen = Gerätename
Heizölsorte = IP Adresseund das für jedes Gerät.
Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.
@Oliver-Böhm ein problem:
man kann keine datenpunkte anlegen, die im namen punkte haben ! die hierachie erlaubt das nicht - die wird mit punkten getrennt
-
@Oliver-Böhm sagte in ID oder Name eines State in Vis anzeigen:
da hast du mich jetzt falsch verstanden, möchte das wie folgt anlegen:

Heizöl = Netzwerk
Bestelldaten = Gerät 1
Entladestellen = Gerätename
Heizölsorte = IP Adresseund das für jedes Gerät.
Zusätzlich sollte noch ein Datenpunkt mit der Anzahl der Geräte angelegt werden, sobald dieser sich ändert, sollte das Script ausgeführt werden.
@Oliver-Böhm ein problem:
man kann keine datenpunkte anlegen, die im namen punkte haben ! die hierachie erlaubt das nicht - die wird mit punkten getrennt
wo sind denn Punkte?
-
wo sind denn Punkte?
@Oliver-Böhm in der ip adresse
heizölsorte = IP adresse
-
@Oliver-Böhm in der ip adresse
heizölsorte = IP adresse
-
@Oliver-Böhm ja
-
@Oliver-Böhm
probier mal
legt die datenpunkte unter javascript.0.Netzwerk ab -
bitte Hostnamen wieder ändern!!! 2 mal: auch im replacevar cacheSelector = $('[id=ping.0.raspberry3.*]'); console.log(cacheSelector); var counter =0; cacheSelector.each(function(id, i) { counter = counter+1 var devicename = getObject(id).common.name; var ip = id.replace(/_/g, "."); var ip = ip.replace(/ping.0.raspberry3./g, ""); log(id + " : " + devicename + " : " + ip ); var devicenameName=devicename; devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät"; createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); setStateDelayed(devicename, devicenameName, 800); devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse"; setStateDelayed(devicename, ip, 800); createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); }); log(counter); createState('Netzwerk.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); setStateDelayed('Netzwerk.Anzahl', counter, 800);bei mir läuft es so - echte profis machen das vielleicht anders - bitte um nachsicht
-
@Oliver-Böhm
probier mal
legt die datenpunkte unter javascript.0.Netzwerk ab -
bitte Hostnamen wieder ändern!!! 2 mal: auch im replacevar cacheSelector = $('[id=ping.0.raspberry3.*]'); console.log(cacheSelector); var counter =0; cacheSelector.each(function(id, i) { counter = counter+1 var devicename = getObject(id).common.name; var ip = id.replace(/_/g, "."); var ip = ip.replace(/ping.0.raspberry3./g, ""); log(id + " : " + devicename + " : " + ip ); var devicenameName=devicename; devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät"; createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); setStateDelayed(devicename, devicenameName, 800); devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse"; setStateDelayed(devicename, ip, 800); createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); }); log(counter); createState('Netzwerk.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); setStateDelayed('Netzwerk.Anzahl', counter, 800);bei mir läuft es so - echte profis machen das vielleicht anders - bitte um nachsicht
wow, du bist der Beste, vielen herzlichen Dank !!
-
wow, du bist der Beste, vielen herzlichen Dank !!
@Oliver-Böhm
naja - wenn schon das mit dem nmap einlesen nicht funktioniert - dann hoffentlich dieses script
-
@Oliver-Böhm
naja - wenn schon das mit dem nmap einlesen nicht funktioniert - dann hoffentlich dieses script
funktioniert super
-
funktioniert super
@Oliver-Böhm
noch wichtig - im setting des pingadapters dürfen keine domainnamen am namen hängen
alo SamsungTV ist ok aber SamsungTV.fritz.box würde nicht funktionieren - wegen der punkte!
-
@Oliver-Böhm
noch wichtig - im setting des pingadapters dürfen keine domainnamen am namen hängen
alo SamsungTV ist ok aber SamsungTV.fritz.box würde nicht funktionieren - wegen der punkte!
@liv-in-sky
danke für den Hinweis -
@liv-in-sky
Habe dein Skript ausprobiert, funktioniert super bei mir. Hab mich nur über die ganzen log-Ausgaben gewundert, bei mir war noch auf Debug und Verbose gestellt :blush:
Nachdem ich mal in meinen Skript-Versuchen auf meinem Testsystem gestöbert habe, habe ich auch einen Code-Schnipsel ähnlich wie deinen zum loggen des common.name gefunden.log(getObject("modbus.0.inputRegisters.0_T_WZ_AI"/*Temperatur Wohnzimmer*/, 1).common.name); log(getObject("modbus.0.inputRegisters.0_T_WZ_AI"/*Temperatur Wohnzimmer*/, 1)._id);Man kann aber darauf anscheinend nicht direkt im VIS zugreifen. Ich wollte mir eine Übersicht aller Register mit dem Namen bauen. Vielleicht geht das mit Bindings, aber damit stehe ich noch etwas auf Kriegsfuss.
-
@Oliver-Böhm
noch wichtig - im setting des pingadapters dürfen keine domainnamen am namen hängen
alo SamsungTV ist ok aber SamsungTV.fritz.box würde nicht funktionieren - wegen der punkte!
-
@Oliver-Böhm
probier mal
legt die datenpunkte unter javascript.0.Netzwerk ab -
bitte Hostnamen wieder ändern!!! 2 mal: auch im replacevar cacheSelector = $('[id=ping.0.raspberry3.*]'); console.log(cacheSelector); var counter =0; cacheSelector.each(function(id, i) { counter = counter+1 var devicename = getObject(id).common.name; var ip = id.replace(/_/g, "."); var ip = ip.replace(/ping.0.raspberry3./g, ""); log(id + " : " + devicename + " : " + ip ); var devicenameName=devicename; devicename="Netzwerk.Gerät"+counter.toString()+".NameGerät"; createState(devicename, 'empty', { name: 'Name des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); setStateDelayed(devicename, devicenameName, 800); devicename="Netzwerk.Gerät"+counter.toString()+".IPAdresse"; setStateDelayed(devicename, ip, 800); createState(devicename, 'empty', { name: 'IP des Geräts', desc: '', type: 'string', role: '',read: true, write: true }); }); log(counter); createState('Netzwerk.Anzahl', 0, { name: 'Anzahl', desc: 'Anzahl der Geräte', type: 'number', unit: '', min: '0', max: '255', role: '',read: true, write: true }); setStateDelayed('Netzwerk.Anzahl', counter, 800);bei mir läuft es so - echte profis machen das vielleicht anders - bitte um nachsicht
@liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
probier mal
legt die datenpunkte unter javascript.0.Netzwerk ab - ```bitte Hostnamen wieder ändern!!! 2 mal: auch im replace
Servus
Habe dein Script an meinen Ping-Adapter angepasst.
Hat auch einwandfrei alles angelegt.Nur passen true/false nicht zusammen.
Hier im Ping wird es mir als true angezeigt.

Aber vom Script kommt ein false retour.

-
@liv-in-sky sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
probier mal
legt die datenpunkte unter javascript.0.Netzwerk ab - ```bitte Hostnamen wieder ändern!!! 2 mal: auch im replace
Servus
Habe dein Script an meinen Ping-Adapter angepasst.
Hat auch einwandfrei alles angelegt.Nur passen true/false nicht zusammen.
Hier im Ping wird es mir als true angezeigt.

Aber vom Script kommt ein false retour.

@Negalein sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
Nur passen true/false nicht zusammen.
Das Skript gibt doch nur den Namen und die IP aus,,,,,,,,,,
-
@Negalein sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
Nur passen true/false nicht zusammen.
Das Skript gibt doch nur den Namen und die IP aus,,,,,,,,,,
@sigi234 sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
@Negalein sagte in [Gelöst] ID oder Name eines State in Vis anzeigen:
Nur passen true/false nicht zusammen.
Das Skript gibt doch nur den Namen und die IP aus,,,,,,,,,,
Ah, ok, dann hab ich das falsch verstanden.

