@tt-tom
Halle..danke für die schnelle Antwort. Ich versuche mal eine andere Version draufzuflashen.
EDIT: Mit einer anderen Version klappt es also hat die neuste Version einen BUG.
@tt-tom
Halle..danke für die schnelle Antwort. Ich versuche mal eine andere Version draufzuflashen.
EDIT: Mit einer anderen Version klappt es also hat die neuste Version einen BUG.
@sigi234 hier meine für den Drucker Brother HL-L2350DW series
@negalein ich poste es morgen ...ist ja nur ne kleine Erweiterung. Aber bin ein wenig stolz darauf das ich es gepackt habe.
lg
@sigi234 ---->>hallo.....deine Vis die du machst ..einfach geil.....bei dem Adapter bekomme ich einfach es nicht hin alle emails abzufragen.
Wenn ich in die abfrage gehe zeigt mir es an-66 Emails aber zeigt absolut nicht an.
Aber ich bin ein wartender mensch.....ich warte bis morgen mal ab
lg----->>>Geile VIS machst du
@apollon77 said in Trefft ioBroker beim "Smart Living Forum Solingen" 18.11.23:
@homoran Habs ...
von 2019 ... scheisse lange her. Namen Links nach Rechts wenn ichs zusammenbekomme:
@chefkoch009, Nicht-Im-Forum, @ruhr70, @ldittmar , @apollon77, @Dutchman, @Bluefox, @Homoran, @eric2905, weiss-nimmer, @pix , @arteck
Ich glaub das sind auch die 6 stolzen Polo-Shirt besitzer
wau.......da sehe ich mal Entwickler die es auf der Hand haben.....aber sehr schönes Bild..vorallen von Jung bis (Alt sagt man ja nicht) bunt gemischt
Es lebe die Community
@matze55
Soory muss an dem Script was ändern da jede Steckdose die mit ESP2366 ausgerüstet ist andere INFO hat aber so wie ich
auf der Spur bin..poste ich es. Denn Anfänger posten ja gerne was wenn es um Erfolge geht. Denn es nützt ja der Allgemeinheit.
lg
@armilar Danke ...konnte ich mir fast denken, aber man muss ja alle möglichkeiten ausschöpfen.
@d3ltoroxp bei dem Adapter IMAP musst du für live mail folgendes eintragen:
Host: outlook.office365.com
Posteingang: INBOX
Port: 993
Benutzname: DEINE Mailadresse
Paswort: DEIN PW
TLS: Kreuz Setzen bzw. Haken
tls-Option: {"rejectUnauthorized": false}
Auto-TLS: never
lg
In T-online , was auch klappt mit der Abfrage muss man ein zusätzliches Passwort erstellen......sorry Lucky_ESA(<_----Recht gehabt) damit die Sicherheit gewährt wird. Also T-Online klappt mit dem Adapter auch.
@oliverio Hallo noch mal ich bin ja zufrieden mit dem Code aber da frage ich ja nochmal dumm,, da ich no ahnung habe von Javascript habe,, wenn ein Eintrag erfolgt in der JSON Tabelle zu einem Datum kann man 2 timestamp vergleichen und sie kennzeichnen. Ich frage nur ob es geht?
mfg
@oliverio Danke erst mal für die Mühen, ich lasse es erst mal so es ist es wird sich irgenwann mal noch eine einfachere Lösung sich anbieten.
mfg
@oliverio Ich habe doch nur die funktion aus deinem Post in die Abfrage gepackt.
Vorher:
date: new Date().toLocaleString('de-DE', opt),
Nachher:
date: new Date().toLocaleString('de-DE', getRelativeDayLabel),
3.Möglichkeit:
timestamp: new Date().toLocaleString('de-DE', getRelativeDayLabel),
Ausgabe in JSON:
javascript.0 13:53:43.397 info
Eintrag zur JSON-Tabelle hinzugefügt: {"date":"26.8.2025, 13:53:43","device":"Echo-Devices","text":"Das Schlafzimmerlicht ist ausgeschalten","source":"alexa2.0"}
Ich kann es drehen wie ich will aber mit der Anzeige klappt es nicht auch nicht mit deiner funktion, aber ich suche noch mal mit der grossen Suchmaschine mal sehen ob ich fündig werde.
mfg
@oliverio Zeile 28 da wird es in Json Eintrag geschrieben. Wenn das Licht eingeschalten wird ...wird der timestamp geschrieben...als Bsp. Das licht ist eingeschalten Heute um plapla ect.
Wenn ein Tag vergeht soll ja in der funktion die du hier postest..ensteht ja eine Differenz von 24 Stunden.
Ich habe mal deinen Code ausgetauscht was so aussieht:
function getRelativeDayLabel() {
const today = new Date().toLocaleString;
// Uhrzeit auf 00:00 setzen, damit nur der Tag verglichen wird
today.setHours(0, 0, 0, 0);
date.setHours(0, 0, 0, 0);
const diffInMs = today - date;
const diffDays = diffInMs / (24 * 60 * 60 * 1000);
if (diffDays === 0) {
return "Heute";
} else if (diffInDays === 1) {
return "Gestern";
}
}
und in der Ausgabe es geändert in:
date: new Date().toLocaleString('de-DE', getRelativeDayLabel),
Ich habe es noch ein wenig angepasst für mich.
mfg
@oliverio Danke für die Antwort ich will es hier integrieren denn so sieht der JS Code momentan aus:
// Datenpunkt für die JSON-Tabelle (anpassen!)
const jsonTableDp = '0_userdata.0.alexa.jsonTable';
// Funktion zum Hinzufügen eines Eintrags zur Tabelle
function addJsonEntry(device, text, source) {
try {
// Datenpunkt vom Typ JSON erstellen oder aktualisieren
const currentState = getState(jsonTableDp).val;
let jsonTable = [];
if (currentState && typeof currentState === 'string' && currentState.trim() !== '') {
jsonTable = JSON.parse(currentState);
}
//Datum und Uhrzeit definieren per const
const opt = {
weekday: "short",//Langer Wochentag
year: "numeric",//Jahr wird per Zahl angezeigt
month: "short",//Kurzer Monatsname
day: "numeric",//Tag wird per Zahl angezeigt
hour : "numeric",//Stunde wird per Zahl angezeigt
minute : "numeric",//Minute wird per Zahl angezeigt
second : "numeric",//Sekunde wird per Zahl angezeigt aber ist aus
};
//End
const newEntry = {
//timestamp: new Date().toISOString(),//Ausgeschalten
//date: new Date().toTimeString().slice(0,9,),//Ausgeschalten
date: new Date().toLocaleString('de-DE', opt),
device: device,
text: text,
source: source
};
jsonTable.push(newEntry);
setState(jsonTableDp, JSON.stringify(jsonTable), true);
log('Eintrag zur JSON-Tabelle hinzugefügt: ' + JSON.stringify(newEntry), 'info');
} catch (error) {
log('Fehler beim Hinzufügen zum JSON: ' + error, 'error');
}
}
// Trigger für den Alexa-Adapter (Anpassen!)
on({id: 'alexa2.0.Echo-Devices.G090P30883460659.Commands.speak', change: "any"}, async function (obj) {
const deviceId = obj.id.split('.')[2];
const text = obj.state.val;
if (text) {
addJsonEntry(deviceId, text, 'alexa2.0');
}
});
///TEST
///
// Trigger für einen Datenpunkt (Beispiel)
/*on({id: '0_userdata.0.alexa.myTextSource', change: "any"}, async function (obj) {
const text = obj.state.val;
if (text) {
addJsonEntry('MyCustomSource', text, 'Datenpunkt');
}
});*/
// Optional: Skript zum Löschen der Tabelle (auf eigene Gefahr!)
on({id: '0_userdata.0.alexa.deleteJsonTable', change: "any"}, async function (obj) {
if (obj.state.val === true) {
setState(jsonTableDp, "[]", true);
log('JSON-Tabelle gelöscht.', 'warn');
setState('0_userdata.0.alexa.deleteJsonTable', false, true);
}
});
Die Ausgabe erfolgt dann in der VIS. so werden die Sprachbefehle aufgelistet die ich per Blockly ansteuere. Wenn ich mich jetzt richtig ausdrücke.
Der timestamp mit dem Text ,,heute,, und ,,gestern,, sollte mit in die ,,const opt,, mit integriert sein. Ob das gehen würde.
Muss ich die funktion die du postet mit einfügen im JS oder muss das gesamte umgebaut werden.
mfg
@oliverio Ich habe mal noch eine Frage zu den timestamp. Kann man bei der Ausgabe beim timstamp die Texte ,,Heute,, und ,,Gestern,, integrieren. Die Definition ist momentan so definiert:
//Datum und Uhrzeit definieren per const
const opt = {
weekday: "short",//Langer Wochentag
year: "numeric",//Jahr wird per Zahl angezeigt
month: "short",//Kurzer Monatsname
day: "numeric",//Tag wird per Zahl angezeigt
hour : "numeric",//Stunde wird per Zahl angezeigt
minute : "numeric",//Minute wird per Zahl angezeigt
second : "numeric",//Sekunde wird per Zahl angezeigt aber ist aus
};
//End
Es ist eine Rechenaufgabe die man gestalten kann, aber die Ausgabe gestaltet sich schwierig.
@oliverio Danke für deine Hilfe das hat geklappt mit den options. Ich habe folgendes getan. Ich wollte eine JSON tabelle für Alexa Sprachbefehle suchen aber hier nur das Log Script von Mic gefunden, was aber nicht mehr gepflegt wird, gefunden. Darauf hin gat mir die grosse Suchmaschine ein Code ausgespuckt wo ich die Sprachbefehle in eine JSON Tabelle schreibe und mir in der VIS anzeigen tut.
Die Datenpunkte habe ich in 0_userdata angelegt. Da ich Fensterkontakte habe und die im Tuya Adapter intergriert sind fange ich dort true und false ab, bei geschlossenen und geöffneten Fenstern und habe per blockly worauf Alexa reagiert mit ihrer Stimme erstellt. Somit habe ich per JS den Code gefunden aber bin mit dem timestamp nicht klargekommen.
Das war mein Anliegen aber jetzt klappt das Danke nochmals.
@oliverio jäährr...du bist mein Retter hat geklappt. Super
Der Code klappt super aber ..jetzt kommt es der Monatsname fehlt hast du da was in deiner zauberkiste ?
@oliverio danke versuche mal mein glück.
Hallo wieder mal ne dumme Frage meiner seits. Ich habe bei Google ein Code gefunden der mir beim Alexa Adapter alle Sprachaktionen in einer Json Tabelle im VIS ausspuckt. Klappt auch alles super. Nur wenn ich beim timestamp die const definiere mit dem Datum...will das nicht so.
Scrennshot:
Momentane anzeige:
const newEntry = {
timestamp: new Date().toISOString(),//Zeigt Käse an
//date: new Date().toTimeString().slice(0,9,),//Alternative
device: device,
text: text,
source: source
};
Wie kann ich es anzeigen lassen z.b. so
16.Aug 2025 23.39.48 Uhr
Bekomme es einfach nicht hin. Danke erst mal