Lass Dir ruhig Zeit. Wenn Du morgen drauf antwortest ist auch ok. Hätte gerne ein Beispiel.
Danke schon mal
Lass Dir ruhig Zeit. Wenn Du morgen drauf antwortest ist auch ok. Hätte gerne ein Beispiel.
Danke schon mal
Kannst Du es mir bitte auch an einem Blockly erklären?
// -------------------------------------------------------------------------
// Dieses Script überwacht den Zustand des BWM Einfahrt und speichert bei
// Betätigung ein Bild von picam2 in einem Vereichnis und sendet
// dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und
// gesendet.
// Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt
// immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten
//
// -------------------------------------------------------------------------
// -------------------------------------------------------------------------
// Konfiguration
// -------------------------------------------------------------------------
// Objekt-ID des Bewegungsmelders
const BWM_Einfahrt = "mihome.0.devices.motion_158d000222f7dd.state";
// URL zur Kamera um ein Image (jpg) zu erhalten
const cam_url = "http://192.168.178.71/picture/1/current/";
// Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren
const dest_path = '/opt/iobroker/iobroker-data/files/_temp/';
// Anzahl der Bilder, die vorgehalten werden sollen
const imageCountMax = 8;
// Prefix für die Bildnamen
const imageNamePre = "Einfahrt";
// -------------------------------------------------------------------------
// Scriptteil
// -------------------------------------------------------------------------
var request = require('request');
var fs = require('fs');
// Bild an telegram schicken
function sendImage (path) {
try {
var stats = fs.statSync(path);
var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1);
sendTo('telegram.0', {
text: path,
caption: msg,
disable_notification: true
});
}
catch(err) { if (err.code != "ENOENT") log(err); }
}
// löscht eine Datei synchron (wartet auf das Ergebnis)
function fsUnlinkSync(path) {
try {
var stats = fs.statSync(path);
try { fs.unlinkSync(path); }
catch(err) { if (err.code != "ENOENT") log(err); }
}
catch(err) { if (err.code != "ENOENT") log(err); }
}
// benennt eine Datei synchron um (wartet auf das Ergebnis)
function fsRenameSync(oldPath, newPath) {
try {
var stats = fs.statSync(oldPath);
try { fs.renameSync(oldPath, newPath); }
catch(err) { if (err.code != "ENOENT") log(err); }
}
catch(err) { if (err.code != "ENOENT") log(err); }
}
// Bild speichern und senden
function saveImage() {
// Bild imageCountMax-1 löschen
fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" );
// Bilder 0..imageCountMax-2 umbenennen
for (var i=imageCountMax-2; i >= 0; i-- ) {
fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg");
}
// Bild 0 löschen
var fname = imageNamePre + ".jpg";
fsUnlinkSync( fname );
// Bild holen und speichern
request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) {
fs.writeFile(dest_path + fname, body, 'binary', function(err) {
if (err) {
log('Fehler beim Bild speichern: ' + err, 'warn');
} else {
// dem Filesystem 2 Sek Zeit zum Speichern lassen
setTimeout(function() { sendImage(dest_path + fname); }, 2000);
}
});
});
}
// sofort ein Bild senden und nach 10 Sek erneut
function onEvent() {
saveImage();
setTimeout(function() { saveImage(); }, 10 * 1000);
}
// Ereignisroutine
on({id: BWM_Einfahrt, val: true}, function (obj) {
onEvent( obj );
});
// manuelle Ausführung (Test)
onEvent();
Alles anzeigen
Das Skript ist aber JS und nicht Blockly ist das ok?
nochmal zurück zu meiner Ursprünglichen frage. Ist es möglich, durch einen Befehl ein Skript zu deaktivieren/pausieren?
Das ich z. B. einen Befehl mit Telegramm schicke und das Skript wie unten angezeigt deaktiviert wird?
schimmer-media.de/index.php?attachment/3851/
Danke und Gruß
Nein, dass sind unterschiedliche Aktionen. Schau Dir mal mein Foto weiter oben an. Da sind alle Aktionen aufgeführt worauf du jeweils eine Aktion drauf programmieren kannst.
Ich benutzte ihn um meine Playlist zu starten, Titel vor oder zurück zu spielen, stoppen und wenn es gehen würde laut und leiser zu machen.
Das Licht in der Küche ein einschalten...
Mach doch bitte mal ein Bild von Deinen Objekten.
Habe den Cube über den CC Stick eingebunden und nicht über das Gateway.
So sieht es bei mir aus:
Hier ein Foto der „Verkabelung“ für alle die das gleiche Problem haben wie ich. Danke an Rico Auerbach für das Foto!??
Hallo zusammen,
habe mir vor kurzem den CC2531 USB Stick geflasht um das Xiaomi Gateway los zu werden.
Der Stick funktioniert auch einwandfrei nur leider reicht die Reichweite für mein Projekt nicht ganz.
Jetzt wollte ich den CC2530 flashen nur leider bin ich mir nicht ganz sicher, weil die Pins vom CC
nicht beschriftet sind. Hat hier jemand schon mal den CC2530 erfolgreich geflasht und betreibt ihn
an einem Raspberry Pi?
Mich würde interessieren, wie man den Debugger mit dem CC verbindet.
Falls das dann geklappt hat auch wie man ihn am Pi anschliesst.
Danke schon mal für eure mühen.
Gruß
Danke nochmal. Hauptsache wir haben den Fehler.
Hallo zusammen,
funktioniert bei euch die Lautstärkeregelung über den Cube bei Alexa? Lauter geht so einigermassen (rechts) leiser funktioniert überhaupt nicht, da hab ich das Gefühl, er Mutet Alexa.
Hab das Skript von Dennis benutzt.
Danke und Gruß
Jetzt hab ich den Fehler :pinch: hatte das zweite Skript noch aktiv gehabt
Danke für Deine Hilfe!!
Wie meinst Du das? Die Aktionen laufen nur über ioBroker und nicht über die App von Xiaomi
Egal ob "schlafen" true oder false ist es läutet und ich bekomme die Nachricht von Telegramm .
Denke die Logik passt so, bin mir nur nicht sicher, wo ich dann den Fehler drin habe weil es nicht funktioniert. Die Zeile bei "falls" finde ich irgendwie komisch. Habe das ganze auch schon umgedreht funktioniert aber auch nicht.
Ja, ein Xiaomi Wall Switch
habe jetzt das Objekt in iCal angelegt. Das auch auf true springt wenn das Ereignis ansteht.
schimmer-media.de/index.php?attachment/3791/
Mein Skript für die Haustürklingel habe ich auch angepasst. Aber es läutet trotzdem. Kannst Du Dir das Skript bitte mal anschauen. "Simple Click" ist die Haustuerklingel
Danke