Kategorie: Persönliches

  • Automatische Lüftungsempfehlung mit HomeMatic IP auf der CCU3 mit Wetterstation und Thermostat

    Automatische Lüftungsempfehlung mit HomeMatic IP auf der CCU3 mit Wetterstation und Thermostat

    Wer kennt es nicht: beschlagene Spiegel und hohe Luftfeuchte nach dem Duschen. Doch wann lohnt es sich tatsächlich, das Bad zu lüften? Mit Homematic IP, einer CCU3, der Wetterstation, einem Thermostat im Bad und etwas Mathematik lässt sich diese Entscheidung automatisieren. In diesem Beitrag erfährst du, wie man ein Homematic Script erstellt, das anhand von Temperatur- und Feuchtigkeitswerten automatisch entscheidet, ob Lüften sinnvoll ist – und wie die Physik dahinter funktioniert.

    Warum absolute Feuchte zählt

    Die relative Luftfeuchtigkeit (z. B. 60 %) hängt stark von der Temperatur ab, was sie als Steuergröße ungeeignet macht. Kältere Luft kann weniger Wasser aufnehmen, weshalb winterliche Außenluft zwar eine hohe relative, aber sehr niedrige absolute Feuchte hat. Erst durch Erwärmen wird sie drinnen spürbar „trockener“. Deshalb vergleicht unser Script die absolute Luftfeuchtigkeit innen und außen.
    (mehr …)

  • Lichtsteuerung mit Homematic IP (CCU3) und deCONZ REST-API

    Lichtsteuerung mit Homematic IP (CCU3) und deCONZ REST-API

    In diesem Szenario werden eine dimmbare Zigbee Lampe mit deCONZ Steuerung, ein Zigbee Bewegungsmelder und ein Homematic IP Schalter zur Lichtsteuerung kombiniert.

    Das nachfolgende Skript gewährleistet, dass ein einfacher Toggle-Befehl des Schalters stets zur vollen Helligkeit führt – unabhängig von zuvor gespeicherten Dimmwerten der Lampe.

    Szenario und Herausforderung

    1. Ein Bewegungsmelder aktiviert die Zigbee-Lampe bei Bewegung zeitweise mit 100% Helligkeit.
    2. Nach Inaktivität wird die Lampe auf 1% gedimmt, um Orientierung zu ermöglichen und schaltet diese schließlich ganz aus.
    3. Dieser Dimmzustand bleibt in der Lampe auch nach dem abschalten gespeichert.
    4. Der Homematic IP-Lichtschalter sendet beim Drücken einen Toggle-Befehl („an“/„aus“) und kennt nicht den aktuellen Dimmzustand der Lampe.
    5. Beim erneuten Einschalten leuchtet die Lampe daher oft nur in der zuvor gespeicherten, niedrigen Helligkeit.

    Zur Lösung wird nach dem Toggle der Gruppenstatus über die deCONZ REST-API für Gruppen abgefragt. Bei eingeschaltetem Zustand wird die Helligkeit unverzüglich auf 100% (Wert 255) gesetzt.

    Funktionsweise des Skripts

    1. Toggle der Gruppe
      Ein einfacher HTTP-PUT-Aufruf über CUxD schaltet alle Lampen in der definierten Gruppe um.
    2. Statusabfrage
      Ein HTTP-GET-Aufruf liest das JSON-Objekt der Gruppe aus. Der Parameter state.any_on zeigt, ob mindestens eine Lampe eingeschaltet ist.
    3. Prüfung auf any_on:true
      Eine einfache String-Suche ("any_on":true) bestimmt den Schaltzustand ohne aufwendiges JSON-Parsing.
    4. Helligkeitsanpassung
      Bei eingeschaltetem Zustand wird über einen weiteren HTTP-PUT-Aufruf die Helligkeit auf 255 gesetzt.

    Zu setzende Variablen

    • deconz_ip: IP-Adresse der deCONZ-Bridge (z. B. "192.168.123.123")
    • deconz_port: Port der REST-API (Standard: "80")
    • api_key: Persönlicher API-Schlüssel aus der deCONZ-Weboberfläche
    • group_id: ID der Lampengruppe in deCONZ (z. B. "666")

    Vollständiges Skript

    
    
    
    
    
    ! deCONZ REST-API Toggle & Helligkeit Script für CCU3
    ! Gruppe 666 – Beispiel „Wohnzimmer“
    
    ! Variablen
    string deconz_ip     = "192.168.123.123";
    string deconz_port   = "80";
    string api_key       = "APIKEY";
    string group_id      = "666";
    
    string response;
    boolean any_on_status = false;
    
    ! Schritt 1: Toggle ausführen
    WriteLine("Starte Toggle...");
    dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(
      "curl -s -X PUT -d '{\"toggle\":true}' " +
      "\"http://" + deconz_ip + ":" + deconz_port +
      "/api/" + api_key + "/groups/" + group_id + "/action\""
    );
    dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
    dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
    
    ! Schritt 2: Status abfragen
    WriteLine("Status abfragen...");
    dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(
      "curl -s \"http://" + deconz_ip + ":" + deconz_port +
      "/api/" + api_key + "/groups/" + group_id + "\""
    );
    dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
    response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
    WriteLine("API Response: " + response);
    
    ! Prüfen, ob "any_on":true im JSON steht
    if (response.Find("\"any_on\":true") >= 0) {
      any_on_status = true;
      WriteLine("Status: any_on = true");
    } else {
      any_on_status = false;
      WriteLine("Status: any_on = false");
    }
    
    ! Schritt 3: Helligkeit setzen
    if (any_on_status) {
      WriteLine("Setze Helligkeit auf 255...");
      dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(
        "curl -s -X PUT -d '{\"bri\":255}' " +
        "\"http://" + deconz_ip + ":" + deconz_port +
        "/api/" + api_key + "/groups/" + group_id + "/action\""
      );
      dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
      response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
      WriteLine("Helligkeits-Response: " + response);
    } else {
      WriteLine("Keine Helligkeitsanpassung erforderlich");
    }
    
    WriteLine("Script beendet");
    

    Dieses Skript sorgt dafür, dass nach jedem Schaltvorgang über den Homematic IP-Lichtschalter die Lampe immer mit voller Helligkeit startet – ein konsistentes Nutzererlebnis in Verbindung mit Bewegungsmelder-Automatik.

  • Waschmaschinen-Status in Node-RED visualisieren

    Waschmaschinen-Status in Node-RED visualisieren

    So baust du eine intelligente Statusanzeige mit Homematic, Node-RED und Dashboard

    In diesem Beitrag zeige ich dir, wie du mit Node-RED und einer Homematic-Messsteckdose den Status deiner Waschmaschine automatisch ausliest, zuverlässig zwischen „Aus“,„Pause“ und „Fertig“ unterscheidest und den aktuellen Zustand übersichtlich im Dashboard anzeigst. Das Projekt ist ideal, wenn du wissen möchtest, wann deine Wäsche wirklich fertig ist – und nicht nur, ob die Maschine gerade Strom verbraucht.

    (mehr …)
  • Microsoft Visio 2016 mit WINE installieren

    Wie man Microsoft Visio 2016 unter Linux mit Wine installiert.

    Wine etc. installieren.

    # sudo apt install wine-stable winbind winetricks

    Wine Umgebung im Verzeichnis „~/.wine-visio“ erstellen.
    (mehr …)

  • Veracrypt, UEFI, Windows 10 und der Bootloop

    Veracrypt, UEFI, Windows 10 und der Bootloop

    Veracrypt ist ein Programm zum Verschlüsseln von Festplatten. Es legt bei der Installation einen Booteintrag „VeraCrypt BootLoader (DcsBoot)“ im UEFI (früher BIOS) an. Dieser muss als Standard-Booteintrag markiert werden, damit Veracrypt die Festplatte für den Bootvorgang entschlüsseln kann.
    (mehr …)

  • Backup & Restore bei Android ohne Root mit ADB

    Backup & Restore bei Android ohne Root mit ADB

    Wer ein Android Smartphone hat, möchte ggf. seine Daten sichern. Wenn man sein Gerät nicht Rooten möchte, um dies zu tun, kann man es mit dem Google Kommandozeilentool adb tun.
    (mehr …)

  • Sonnenuntergang über Rapsfeld bei Geschendorf

    Sonnenuntergang über Rapsfeld bei Geschendorf

    Ich am 1.Mai ein paar Belichtungsreihen gemacht und diese in das HDR Efex Pro aus der Nik Collection geworfen. Das Ergebnis sieht so aus.

    Die volle Auflösung gibt es, wenn du auf das Foto clickst.

    2016-05-01-Sonnenuntergang-Rapsfeld-Geschendorf1

    2016-05-01-Sonnenuntergang-Rapsfeld-Geschendorf2

    2016-05-01-Sonnenuntergang-Rapsfeld-Geschendorf3

    2016-05-01-Sonnenuntergang-Rapsfeld-Geschendorf4

  • Skylake unter Linux zum laufen kriegen am Beispiel eines Dell Latitude E7270

    Skylake unter Linux zum laufen kriegen am Beispiel eines Dell Latitude E7270

    Versucht man einen Skylake Prozessor mit entsprechendem Chipsatz unter Ubuntu 15.10 zum laufen zu bekommen erhält man Fehlermeldungen wie diese, wenn man den Rechner an eine Dell Dockingstation anschließt:

    [drm:intel_dp_start_link_train [i915]] *ERROR* too many voltage retries, give up
    [drm:indel_dp_complete_link_train [i915]] *ERROR* Timed out waiting for DP idle patterns
    Kernel panic - not syncing: Timeout: Not all CPUs entered broadcast exception handler
    Shutting down spus with NMI
    Kernel Offset: disabled
    Rebooting in 30 seconds..
    ACPI MEMORY or I/O RESET_REG

    Die Lösung:

    1. Bios Update durchführen: Quelle für Dell E7270 A03. Achtung. ggf. gibt es eine neuere Version. Installation geht ohne OS.
    2. Ubuntu 16.04 installieren (AMD64).
    3. neusten Kernel (AMD64, generic) mit Intel Treiber installieren.
      # cd /tmp
      # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/current/linux-headers-4.5.X-XXX-generic_4.5.0-XXX.ZEISTEMPEL_amd64.deb
      # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/current/linux-headers-4.5.X-XXX_4.5.0-XXX.ZEITSTEMPEL_all.deb
      # wget http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-next/current/linux-image-4.5.X-XXX-generic_4.5.X-XXX.ZEITSTEMPEL_amd64.deb
      # sudo dpkg -i *.deb && rm *.deb
      

      Achtung: Kernel wird alle 14 Tage unter der URL geupdated.

    4. Intel Skylake Firmware installieren.
      Download firmware
      # cd /tmp tar xf skylake-guc-X.X.tar.bz2
      # cd skylake-guc-X.X
      # sudo sh install.sh
    5. Neustarten

    Ergebnis:

    Bis auf das eindocken in eine Dockingstation während ein Benutzer angemeldet ist, scheint alles zu funktionieren. Eindocken führt auch nicht mehr zu einem Absturz. Es wird nur der Bildschirm an der Dockingstation fehlerhaft erkannt. Dies lässt sich durch ab- und wieder anmelden des Benutzers oder reboot in der Dockingstation beheben.

  • Datenschutz außerhalb von Sozialen Netzwerken – Wie verhindere ich, dass Facebook auch was ich ihm nicht sage?

    Loggt man sich mit dem Browser in einer Sozialen Netzwerk Seite (SNS) wie Facebook, Google Plus oder Twitter ein, verrät man diesem seine Identität. Das ist OK, weil man sicher als Nutzer eines SNS bewusst dafür Entscheidet dies zu tun.

    Was eher überraschend ist: mit dem Login auf in dem SNS, wird man auch bei dem Aufruf von vielen anderen Webseiten identifiziert.

    Wie funktioniert das?

    Die Anbieter der SNS haben Instrumente geschaffen um klassische Webseiten mit sozialen Medien einzubinden. Diese findet man auf zahlreichen Webseiten in Form von „+1“ „Like“ oder „Tweet“ Buttons.
    Social-Media-Buttons

    Wenn wir eine Webseite mit einem solchen Button aufgerufen, stellt der Browser eine Verbindung zu dem SNS um den Button zu laden. Dabei werden die Cookies des Browsers und einige andere Informationen an das SNS übermittelt. So weiß z.B. Facebook, welchen Artikel ich bei Spiegel-Online lese. Durch das laden eines solchen Buttons wird beliebiger Programmcode des SNS auf der Webseite ausgeführt. Das kann Analysefunktionen beinhalten,

    • wie lange ich eine Webseite betrachtet habe,
    • wann ich wohin gescrollt habe,
    • Mausbewegungen,
    • Markierungen,
    • Tastatureingaben.

    Daraus lässt sich sehr genau schließen, welche Inhalte den Nutzer interessieren, was seine Vorlieben sind etc.. Das wahllose Öffnen von Webseiten und Artikeln als Ablenkungsmanöver hilft hier nicht, da sich über Maus und Scrollbewegungen sehr genau nachvollziehen lässt, welcher Teil eines Artikels gelesen wurde.

    Darüber hinaus sind auch jegliche Manipulationen an den Inhalten der Webseite denkbar.

    Inhalte von dritten, wie Buttons von SNS stellen also ein massives Risiko für die Privatsphäre da. Es geht sogar noch weiter. Sie bedrohen die Integrität und Authentizität der Inhalte.

    Manipulationen sind aus SNS-Anbieter Sicht einfach. Er versendet einfach bei einer anfrage durch einen Browser einen anderen Programmcode (Javascript), und der Browser führt diesen aus. Der Webseitenbetreiber, der den SNS-Button eingebunden hat, bekommt von diesen Änderungen nichts mit. Aus Nutzersicht ist es theoretisch zwar möglich Änderungen zu erkennen, in der Praxis bleibt dies aber IT-Profis mit zu viel Freizeit vorbehalten.

    Der SNS-Anbieter kann also bei jedem Aufruf einer Webseite anderen Code mitsenden, abhängig davon, wer aufruft und was er aufruft.

    Gegenmaßnahmen

    Es gibt eine ganze Reihe von Maßnahmen, um dem Browser gegen Ausspähungen abzuschirmen. Alle diese Maßnahmen haben eines Gemeinsam: Mehr Sicherheit und Datenschutz bedeutet fast immer weniger Komfort und Benutzbarkeit. Die Maßnahmen unterscheiden sich in Sachen Sicherheitsgewinn, und Benutztbarkeitsverlust. Es gibt durchaus Maßnahmen, die die Sicherheit deutlich erhöhen, und die Benutzbarkeit nur wenig einschränken.

    1. Den Browser aufrüsten.

    Die meisten dieser Maßnahmen verbessern den Datenschutz im Browser im allgemeinen. Dieser Abschnitt konzentriert sich auf den Mozilla Firefox, weil er wesentlich einfacher Datenschutz freundlich zu konfigurieren ist, als Chrom[ium] und Opera. Apple Safari und Microsoft Internet Explorer wurden nicht betrachtet, weil sie auf dem Computer des Autors nicht funktionieren. Anzumerken ist hier, dass der Internet Explorer in seinen neuen Versionen deutliche Fortschritte in Sachen Datenschutzfreundlichkeit gemacht (DNT etc.).

    1.1. Daten bei schließen des Browsers löschen – Bordmittel sinnvoll einsetzen

    Der Browser sammelt bei einer Surfsession viele Informationen. Darunter sind Cookies, Offline Webseiten Daten, Historie, Zwischengespeicherte Daten, Aktive Logins und Formulardaten.

    Im FirefoxFirefox Logo geht dies unter Einstellungen → Datenschutz:

    • →[x] Websites mitteilen, meine Aktivitäten nicht zu verfolgen
    • →[x] Cookies akzeptieren
    • →Behalten, bis „Firefox geschlossen wird“
    • →[x] Die Chronik löschen, wenn Firefox geschlossen wird [Einstellungen]

    Firefox-Datenschutz-Fenster

    Unter [Einstellungen] findet sich ein weiteres Fenster, dass wie folgt konfiguriert werden sollte.

    Auf Passwörter und Webseiteneinstellungen können die Webseiten nicht direkt zugreifen, daher ist es kein Problem aus diese zu speichern. Wenn Passwörter gespeichert werden, ist es wichtig den Rechner zu Sperren, wenn man nicht vor ihm Sitzt.

    Firefox-Datenschutz-Fenster2

    Chrome[ium] hat KEINE Funktion die Surfe Historie automatisch beim schließen zu löschen.

    1.2 Erweiterung: GhosteryGhoster

    Ghostery ist in der Lage SNS-Buttons zu deaktivieren.

    Download: https://addons.mozilla.org/firefox/addon/ghostery/

    Nach der Installation startet ein Assistent. Ich empfehle folgende Einstellung:

    • Ghostrank: NEIN
    • Warnfeld: JA
    • Tracker → Alles auswählen
    • Cookies → Alles auswählen

    2. Dedizierte Social Media Browser

    Das wohl effektivste Mittel um die Sozialen Medien aus dem Normalen Surfen heraus zu halten ist ein extra Browser nur für Soziale Netzwerke. Ich empfehle hier den Firefox für das Normale Web, da er sich über diverse Erweiterungen gut abschotten lässt und den Chrome[ium] Browser für Soziale Netzwerke. Chrome[ium] ist für SNS eher geeignet da er mit Google-Diensten schon sehr eng verheiratetet ist. Diese Nähe ist nur mit viel Aufwand auszutreiben, daher sollte man es gleich bleiben lassen – im Zweifelsfall ändert sich beim nächsten Update eh wieder alles.

    So ruft man SNS nur noch mit dem Chrom[ium]-Browser auf. Die Cookies, und andere Identifikatoren mit denen man über die SNS identifiziert wird, sammeln sich im Chrom[ium]-Browser. Der Firefox weiß jedoch nichts von diesen Cookies, wenn man mit ihm Spiegel Online aufruft und übermittelt sie folglich auch nicht. Es wird erheblich schwerer – jedoch nicht unmöglich – einen einzelnen Nutzer zu verfolgen. Der Verkettende Element des Browsers ist ausgeschaltet.

    2.1 Social Media Browser Konfigurierenchromium-logo

    In diesem Beispiel für eine Konfiguration zum SNS-Browser wird der Chrome[ium]-Browser verwendet. Der Browser wird mit einer Datenschutzfreundlichen Suchmaschine ausgestattet, weil dies einfacher ist, als die Suchfunktion zu deaktivieren. Außerdem wird er so konfiguriert, dass Inhalte nur noch von ausgewählten SNS geladen werden. Führt ein Link von einem SNS auf eine Seite außerhalb des SNS, so wird die Seite nur noch im Textmodus geladen. Alle aktiven Komponenten der Webseite werden, wie Plugins, Programcode usw. aber auch Trackingpixel von Drittanbietern werden ignoriert.

    Möchte man einen Link aus einer SNS-Seite extern aufrufen, muss man die denk Link über die Zwischenablage kopieren und in den Normalen Browser einfügen.

    2.1.1 Datenschutzfreundliche Suchmaschine Auswählen:startpage_logo

    Startingpage liefert die Google Suchergebnisse, ohne das Google weiß, wer gesucht hat. Die Seite wird von ixQuick betrieben und wurde vom EuroPrise Gütesiegel (ULD), zertifiziert. Das Siegel wurde von dem Europäischen Datenschutzbeauftragten Peter Hustinx verliehen.

    https://startpage.com/deu/download-startpage-plugin.html

    Auf den „HTTPS“ Button klicken um Startingpage als Suchmaschine zu installieren.

    Menu → Einstellungen:

    Chromium-Einstellungen

    • „Suchen“
      • [Suchemaschinen verwalten]
        Chromium-Suchmaschinen
      • Hier im unteren Fenster unter „Andere Suchmaschinen“ Startingpage als Standard festlegen.
        Chromium-Startingpage

    2.1.2 Damit die SNS-Seite schnell geladen werden, können sie alle gleichzeitig als Startseite eingerichtet werden:

    • „Beim Start“
      • [x] Bestimmte Seite oder Seiten öffnen
      • Unter dem Punkt Seiten festlegen“ Kann man alle Sozialen Netzwerke, die man regelmäßig nutzt als Startseiten in extra Tabs anlegen, sodass diese beim Start des SMS-Browsers automatisch aufgerufen werden.
        Chromium-Startseite1
        Chromium-Startseite-2

    2.1.3 Browser so modifizieren, dass nur noch Inhalte von Sozialen Netzwerken geladen werden:

    Menu → Einstellungen:

    • Ganz unten: „Erweiterte Einstellungen“ klicken. Daraufhin wird das Konfigurationsfenster deutlich länger.
      Chromium-Erweiterte-Einstellungen
    • „Datenschutz“
      • [Inhaltseinstellungen]
        • „Cookies“
          • [o] Speicherung von Daten für alle Websites blockieren
          • [x] Drittanbieter-Cookies und Websitedaten blockieren
          • [Ausnahmen verwalten] →
            Chromium-Cookies-Ausnahmen

            • Hier die SNS-Seiten eintragen, auf denen man sich einloggen möchte.
            • Beispiel:
              • https://[*.]t.co:443 (Twitter)
              • https://[*.]facebook.com:443
              • https://[*.]joindiaspora.com:443
              • https://[*.]google.com:443
              • https://[*.]google.de:443
              • https://[*.]youtube.com:443
              • https://[*.]twitter.com:443
        • „Bilder“
          • [o] Keine Bilder Anzeigen
          • Auf [Ausnahmen Verwalten] klicken.
            • Hier die SNS-Seiten eintragen, auf denen man sich einloggen möchte. Zum Beispiel:
              • https://[*.]t.co:443 (Twitter)
              • https://[*.]facebook.com:443
              • https://[*.]joindiaspora.com:443
              • https://[*.]google.com:443
              • https://[*.]google.de:443
              • https://[*.]youtube.com:443
              • https://[*.]twitter.com:443
        • „Javascript“
          • [o] Ausführung von Javascript für keine Website zulassen
          • Auf [Ausnahmen Verwalten] klicken.
            • Hier die SNS-Seiten eintragen, auf denen man sich einloggen möchte. Zum Beispiel:
              • https://[*.]t.co:443 (Twitter)
              • https://[*.]facebook.com:443
              • https://[*.]joindiaspora.com:443
              • https://[*.]google.com:443
              • https://[*.]google.de:443
              • https://[*.]youtube.com:443
              • https://[*.]twitter.com:443
        • „Handler“
          • [o] Verarbeitung von Protokollen für keine Website zulassen.
        • „Plug-ins“
          • [o] Standartmäßig blockieren
          • Auf [Ausnahmen Verwalten] klicken. – Dies ist nicht nötig, kann aber dazu führen, dass z.B. Videos in Facebook nicht abgespielt werden können.
            • Hier die SNS-Seiten eintragen, auf denen man sich einloggen möchte. Zum Beispiel:
              • https://[*.]facebook.com:443
              • https://[*.]joindiaspora.com:443
              • https://[*.]google.com:443
              • https://[*.]google.de:443
              • https://[*.]youtube.com:443
              • https://[*.]twitter.com:443
        • „Standort“
          • Abrufen des physischen Standorts für keine Website zulassen.
    • Unter Datenschutz alle Haken entfernen, bis auf:
    • [x] Mit Browserzugriffen eine „Do Not Track“-Anforderung senden
      Chromium-DNT
  • Frostige Kieler Förde

    Frostige Kieler Förde

    Foto von der Blücherbrücke in der Kieler Förde mit Blick Richtung HDW.