@mrbelvedere58 [Gelöst]
NEWS
Latest posts made by mrbelvedere58
-
RE: ist Objekid in mysql vorhanden
@mrbelvedere58 hat sich erledigt die Nummer in der db hatten ein Leerzeichen drin
trotzdem vielen dank -
RE: ist Objekid in mysql vorhanden
@tt-tom das soll ein Telefonbuch werden in Verbindung mi dem tr-064 Adapter und vom Handy über macrodroid was auch alles geht daher brauche ich die Nummer ich habe ja mehrere Einträge in der db.
der timestamp ist immer 3x gleich für die einträge in der db daher kann ich nur die val mit der Telefonnummer abfragen. Cbei result kommt nichts zurück er geht gar nicht erst dort hin habe es auch mit diesem Scrip probiert er geht nicht in die db
on({ id: [].concat(['0_userdata.0.HandyZustand.Anrufer-Nummer']), change: 'any' }, async (obj) => { const telefonnummer = obj.state ? obj.state.val.trim().toLowerCase() : ''; console.log(`${telefonnummer}`); // die nummer wird ausgegeben sendTo('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE val LIKE '%${telefonnummer}%'`, (result) => { const uniqueTimestamps = new Set(); result.result.forEach(row => { uniqueTimestamps.add(row.ts); }); uniqueTimestamps.forEach(timestamp => { sendTo('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE ts = ${timestamp}`, (result) => { result.result.forEach(row => { const { val, id } = row; if (id == "55") { console.log(`${val}`); // hier kommt schreiben rein für Bild } if (id == "56") { console.log(`${val}`); // hier kommt schreiben rein für Name } if (id == "57") { console.log(`${val}`); // hier kommt schreiben rein für tel Nummer } }); }); }); }); });
es wird nur das obere log ausgegeben aber nichts aus der db
-
ist Objekid in mysql vorhanden
Hallo zusammen,
ich habe ein kleines Problem mit der Verbindung von Objektid und SQL.
ich bin was dieses angeht noch Anfänger und habe das ganze so zusammen gepuzzelt.
ich schreibe 3 werte als string in die Datenbank diese sind auch vorhanden ts_string
id=55 ts=1732173193906 val=Name des Anrufers
id=56 ts=1732173193906 val=Telefonnummer des Anrufers
id=57 ts=1732173193906 val=Bild Pfad des Anrufers zb. /vis.0/main/img/anrufer/peter.png
diese kann ich auch abrufen.const telefonnummer = '030655555'; // diese nummer soll von einer Objektid kommen sendTo('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE val LIKE '%${telefonnummer}%'`, (result) => { const uniqueTimestamps = new Set(); result.result.forEach(row => { uniqueTimestamps.add(row.ts); }); uniqueTimestamps.forEach(timestamp => { sendTo('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE ts = ${timestamp}`, (result) => { result.result.forEach(row => { const { val, id } = row; if (id == "55") { console.log(`${val}`); // hier kommt schreiben rein für Bild } if (id == "56") { console.log(`${val}`); // hier kommt schreiben rein für Name } if (id == "57") { console.log(`${val}`); // hier kommt schreiben rein für tel Nummer } }); }); }); });
soweit geht das
jetzt habe ich ver sucht das ganze über eine Objektid zu lösen wenn objektid sich aktualisiert wird dann soll die dort eingetragene Telefonnummer in eine variable gesetzt werden. das geht
es soll nun geprüft werden ob es diese Nummer in der Datenbank gibt wenn ja dann aktualisire Objektid mit den in der DB vorhandenen Daten.on({ id: [].concat(['0_userdata.0.HandyZustand.Anrufer-Nummer']), change: 'any' }, async (obj) => { const telefonnummer = obj.state ? obj.state.val.trim().toLowerCase() : ''; console.log(`${telefonnummer}`); // die nummer wird ausgegeben const result = await sendToAsync('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE val LIKE '%${telefonnummer}%'`, (result) => { if (result.length >= 0) { const uniqueTimestamps = new Set(); result.result.forEach(row => { uniqueTimestamps.add(row.ts); }); uniqueTimestamps.forEach(timestamp => { sendTo('sql.0', 'query', `SELECT val, ts, id FROM homematic.ts_string WHERE ts = ${timestamp}`, (result) => { result.result.forEach(row => { const { val, id } = row; if (id == "55") { console.log(`${val}`); // hier für Bild } if (id == "56") { console.log(`${val}`); // hier für Name } if (id == "57") { console.log(`${val}`); // hier für Telefonnummer } }); }); }); } else { console.log(`kein zugrif auf db`); } }); });
als Ausgabe bekomme ich nur
kein zugrif auf db
wo liegt hier das Problem ich komme nicht weiter vielleicht hat ja einer eine idee -
alexa2 volume lässt sich nicht mehr einstellen
Hallo,
ich habe folgendes Problem nach dem update von v2.6.2 auf v2.6.4 kann ich die Lautstärke beim meinem Echo nicht mehr von iobroker aus steuern. Ich würde gern die alte v2.6.2 wieder aufspielen doch im netz finde ich immer nur v2.6.4 . hat jemand noch die v2.6.2 zu liegen?
Oder gibt es einer andere Lösung.vielen dank im voraus
Manne -
RE: Tr-064 zeichenkette zerlegen
Hier mal mein fertiges Script
welches mir das Bild des gerade anrufenden Anrufers zeig, sollte kein Bild vorhanden sein wir es durch eine Dumy Bild ersetzt.
das gleiche ist beim Anrufer-Namen, ist keiner vorhanden wird die Nummer angezeigt.
eine pause von 1 secunde verhindert das alte Daten eingelesen werden.
! on({id: 'tr-064.0.callmonitor.ringing', change: "ne"}, function (obj1) {
! var value = obj1.state.val;
! var oldValue = obj1.oldState.val;
! timeout = setTimeout(function () {
! var obj = JSON.parse(getState('tr-064.0.callmonitor.inbound.json').val);
! setState("javascript.0.scriptEnabled.Telefon.Anrufernummer",obj.caller);
! var nem = obj.callerName;
! if (nem === ""){
! var nem1 = obj.caller;
! setState("javascript.0.scriptEnabled.Telefon.Anrufername",nem1);
! } else {
! setState("javascript.0.scriptEnabled.Telefon.Anrufername",nem);
! }
! var pic = obj.imageurlcaller;
! if (pic === undefined){
! var pic1 = "http://localhost:8082/vis.0/main/img/anrufer/call.png";
! setState("javascript.0.scriptEnabled.Telefon.Anruferbild",pic1);
! } else {
! setState("javascript.0.scriptEnabled.Telefon.Anruferbild",pic);
! }
! }, 1000);
! });
geht bestimmt auch besser aber als Anfänger kann ich es gut benutzen -
RE: Tr-064 zeichenkette zerlegen
Jo,
Danke das hat mich weiter gebracht werde jetzt noch einen Trigger einbauen und eine if schleife wenn kein Bild vorhanden ist
vielen Dank
Manne
-
RE: Tr-064 zeichenkette zerlegen
vielen Dank für die Hilfe,
ich habe es jetzt hin bekommen das er mir callee, caller oder callerName ausgibt aber in Anführungszeichen
bei imageurlcaller trägt er nur "null" ein obwohl der Bild Pfad da ist
! var pic = String(getState("tr-064.0.callmonitor.inbound.imageurlcaller").val, 0, false);
! var pic = setState("javascript.0.Anruferbild",JSON.stringify(pic));
! log(" Bild : " + pic);
und im log steht Bild : undefined obwohl er einen wert in Anrufferbild schreibt -
Tr-064 zeichenkette zerlegen
Hallo.
Ich bin noch Anfänger und kann nichts finden was mir ein Anrufer Bild ausgibt.
im tr-064.0.callmonitor.inbound.json wird mir eine zeichenkette angezeigt im Format {"caller":"01777987326","callee":"65908000","_type":"inbound","callerName":"","imageurlcaller":""}
jetzt möchte ich den nur einen Eintrag ,den wert aus imageurlcaller in eine neue Variable schreiben
mein Code sieht so aus
! var obj = "tr-064.0.callmonitor.inbound.json"/json/;
! //var obj = {"caller":"01777987326","callee":"65908000","_type":"inbound","imageurlcaller":"Http usw."};
! var pic = obj.imageurlcaller;
! setState("javascript.0.Anruferbild",JSON.stringify(pic));
! log("Bild:" + pic);Doch es geht nicht, wenn ich die 2 Zeile aktiviere trägt er mir das Ergebnis ein, aber nicht bei Zeile 1
im log steht nur javascript.0 script.js.Name.beleuchtung: Nummer :undefined
wo liegt der Fehler?
vielleicht kann mir jemand weiter helfen
vielen Dank Manne
-
Tr-064 callmonitor inbound json
Hallo,
Ich benötige mal etwas Hilfe.
im callmonitor inbound json wird angezeigt wer gerade Anruft, in VIS wird mir auch soweit die json Tabelle angezeigt.
wie bekomme ich es jetzt hin das mir auch das Bild (imageurlcaller) angezeigt wird. Bei mir sehe ich nur den phat stehen.
Einen Gruß aus Berlin
Manne