[Codeschnipsel] – HOMEMATIC: Mehrere Aktoren gleichzeitig AN oder AUS oder TOGGLE

Veröffentlicht am

Zurzeit habe ich mich wieder ziemlich viel mit Programmierung beschäftigt. Unter anderem sind auch ein paar neue Skripts für meine Hauszentrale, die Homematic CCU2 von eQ-3 entstanden.

Es gibt Phasen, in denen ich gerne programmiere – und es gibt Phasen, da programmiere ich wirklich nur, wenn ich – z.B. aufgrund eines Kundenprojektes muss. In der letzten Zeit habe ich mich gerne mit der Skriptsprache für die Homematic CCU2 beschäftigt und beschlossen, gelegentlich das ein oder andere Skript hier zu teilen – um anderen Interessierten weiterzuhelfen. Als ich begann, mich mit der Thematik auseinanderzusetzen, war ich auch froh, solche Inhalte online gefunden zu haben.

Mit dem nachfolgenden Skript werden entweder a) ALLE Aktoren eines Gewerks, einer Favoritengruppe oder eines Raumes geschaltet werden oder b) nur die Aktoren eines Objekttyps, (bzw. max. dreier verschiedener Objekttypen geschaltet werden. Möglich ist AN, AUS oder TOGGLE (Geräte die an sind, werden ausgeschaltet – und Geräte die aus sind, werden angeschaltet).

Angegeben werden müssen lediglich die Bezeichnung des Gewerks, der Favoritengruppe oder des Raumes [1.], ob alle dort enthaltenen Geräte geschaltet werden [JA/NEIN bei 2A.], falls nicht alle Geräte geschaltet werden sollen die Objekttyp-IDs (z.B. HM-LC- Sw1-Pl-2) [2B.] Und in welchem Zustand die Geräte gebracht werden sollen („AN“/“AUS“/““ für TOGGLE) [3.].
 
! START ======================================================
! ===[ 1.]==========
! Die Aktoren WELCHES OBJEKTS (Gewerk, Favoritengruppe, ...)
! sollen geschaltet werden?

var Objekt = "Beleuchtung";

! ===[ 2A.]==========
! Sollen ALLE AKTOREN geschaltet werden?
! > Auswahl aus "JA"/"NEIN"

var AlleTypen = "JA";

!===[ 2B.]==========
! Falls NEIN:
: WELCHE GERÄTETYPEN sollen geschaltet werden?

var Typ1 = "HM-LC-Sw1-Pl-2";
var Typ2 = "";
var Typ3 = "";

!===[ 3.]==========
! In welchen NEUEN ZUSTAND soll geschaltet werden?
! > Auswahl aus "AN"/ "AUS" / "T"=Toggle

var Schaltung = "AUS";

! ===================================================================
! Ab hier sollten keine Änderungen mehr vorgenommen werden, sollten
! Sie keine Programmierroutine haben!
! ===================================================================

var Durchsuchen = dom.GetObject(Objekt);
var Zaehlen = "NEIN";
var count = 0;

if (Schaltung == "AN") { var Neu = 1;}
if (Schaltung == "AUS") { var Neu = 0;}
string itemId;
foreach(itemId, Durchsuchen.EnumUsedIDs())
{
var item = dom.GetObject(itemId);
if (item.IsTypeOf(OT_CHANNEL)) {
var device = dom.GetObject(item.Device());

! ===[1. AlleTypen = JA]==============================================
if (AlleTypen == "JA") {
if (Schaltung=="") {
var Ist = item.State();
var dev = dom.GetObject(item);
if (Ist==0) {
Neu = 1;
item.State(Neu);
}
if (Ist==1) {
Neu = 0;
item.State(Neu);
}
WriteLine("Toggle: schalte " # dev # " von " # Ist # " zu " # Neu # ".");
}

if (Schaltung=="AN") {
Neu = 1;
item.State(Neu);
}

if (Schaltung=="AUS") {
Neu = 0;
item.State(Neu);
}
Zaehlen = "JA";
}

! ===[2. AlleTypen = NEIN]============================================
if (AlleTypen == "NEIN") {

! ---[2.1 Typ1]------------------------------------------------------
if (device.HssType() == Typ1) {
if (Schaltung=="") {
var Ist = item.State();
var dev = dom.GetObject(item);
if (Ist==0) {
Neu = 1;
item.State(Neu);
}
if (Ist==1) {
Neu = 0;
item.State(Neu);
}
WriteLine("Toggle: schalte " # dev # " von " # Ist # " zu " # Neu # ".");
}

if (Schaltung=="AN") {
Neu = 1;
item.State(Neu);
}

if (Schaltung=="AUS") {
Neu = 0;
item.State(Neu);
}
Zaehlen = "JA";
}

! ---[2.2 Typ2]------------------------------------------------------
if (device.HssType() == Typ2) {
if (Schaltung=="") {
var Ist = item.State();
var dev = dom.GetObject(item);
if (Ist==0) {
Neu = 1;
item.State(Neu);
}
if (Ist==1) {
Neu = 0;
item.State(Neu);
}
WriteLine("Toggle: schalte " # dev # " von " # Ist # " zu " # Neu # ".");
}

if (Schaltung=="AN") {
Neu = 1;
item.State(Neu);
}

if (Schaltung=="AUS") {
Neu = 0;
item.State(Neu);
}
Zaehlen = "JA";
}

! ---[2.3 Typ3]------------------------------------------------------
if (device.HssType() == Typ3) {
if (Schaltung=="") {
var Ist = item.State();
var dev = dom.GetObject(item);
if (Ist==0) {
Neu = 1;
item.State(Neu);
}
if (Ist==1) {
Neu = 0;
item.State(Neu);
}
WriteLine("Toggle: schalte " # dev # " von " # Ist # " zu " # Neu # ".");
}

if (Schaltung=="AN") {
Neu = 1;
item.State(Neu);
}

if (Schaltung=="AUS") {
Neu = 0;
item.State(Neu);
}
Zaehlen = "JA";
}
}
}

if (Zaehlen == "JA") {
count = count + 1;
Zaehlen = "NEIN";
}
}

WriteLine("OK!\n" # count # " Aktoren " # Schaltung # ".");
! ENDE =======================================================

Photo by luis gomes from Pexels

Das Internet ist für das Schwarzwald-Baar-Klinikum immernoch Neuland

Veröffentlicht am

Ich komme grade aus dem “neuen“ Schwarzwald-Baar-Klinikum, weil mich ein langjähriger Kunde beauftragt hat, ihm dabei zu helfen, ins Internet zu kommen. Dieses jetzt schon veraltete und komplett unfähige “Krankenhaus“ ist DAS perfekte Beispiel dafür, wie sehr das Internet für Deutschland noch “Neuland“ ist. Ich bin gerade so verdammt wütend!

Um Internetzugang zu erhalten soll man – so die Rezeptionistin im UG unten – in die Station nach oben (in meinem Fall der 5.OG) gehen, ein kostenpflichtiges (!) “Ticket“ holen, mit diesem wieder nach unten kommen, dieses dann – wieder im UG – am Automaten scannen und aktivieren lassen, um den dort erhaltenen Code dann wieder oben am PC einzugeben.
Ich bin zu Fuß recht schnell unterwegs. Aber ein Weg vom Zimmer im obersten Stockwerk bis zur Rezeption dauert trotzdem mindestens 6 Minuten.

Kurzes Rechenbeispiel:
Rezeption > Station, 6 Minuten
+ Station > Rezeption, 6 Minuten
+ Rezeption > Automat, 1 Minuten
+ Automat > Station, 6 Minuten
= rund 20 Minuten

Wie mag es aber wohl älteren Menschen oder Personen gehen, die wegen Krankheit nicht gut zu Fuß sind?

Nachdem ich diese Schritte ausgeführt hatte, erfuhr ich schließlich von einer weiteren Mitarbeiterin, dass ich diese Schritte überhaupt nicht hätte durchführen müssen und ich zuvor also eine Fehlauskunft erhalten hatte. Privatpatienten bräuchten diese Schritte generell nicht durchführen.

Ich habe alles versucht… – der Zugang zum Internet blieb verwehrt! Weder mit dem Gerät meines Kunden konnte eine Verbindung hergestellt werden; noch mit meinem Arbeitslaptop oder meinem Smartphone. Auch mit Unterstützung einer Krankenschwester – die leider kaum zu verstehen war, weil sie der deutschen Sprache nur sehr eingeschränkt mächtig war – funktionierte es nicht.

  1. Warum gibt es hier immer noch eine 2-Klassen-Gesellschaft?
  2. Warum bekommt es das Klinikum nicht auf die Reihe, eine zeitgemäße Internetversorgung zu gewährleisten?
  3. Warum wird es Patienten – wobei… Kunden ist hier wahrscheinlich das bessere Wort – so schwer gemacht, ins Internet zu kommen?
  4. Warum ist Internet im Jahr 2020 für Patienten überhaupt noch kostenpflichtig?

Wenn Netflix den neuen Elyas M’Barek-Film tötet…

Veröffentlicht am

„Das perfekte Geheimnis“ von Constantin Film läuft gerade in den Kinos an – da ist die Story bei Netflix bereits mit anderen Schauspielern zum kostenlosen* streamen verfügbar.

Wie BITTER muss das bitte sein, wenn du Du monatelang einen Kinofilm planst, ihn abdrehst, Du einen siebenstelligen Batzen an Ausgaben hattest, um diesen bekannt zu machen durch drölfhundert Frühstücksfernseh-Sendungen tingeln musstest + die immer wieder gleichen und ultraprivaten Fragen beantworten musstest und NETFLIX DANN EINFACH DEN GLEICHEN FILM ZUR GLEICHEN ZEIT ZUM QUASI GRATISGUCKEN* VERÖFFENTLICHT 😀 😀 …!

Flomarkt-Besuch: Ich wurde betrogen + abgezockt!

Veröffentlicht am

Vielleicht bin ich naiv, vielleicht zu gutgläubig. Vielleicht glaube ich auch einfach zu sehr an das Gute im Menschen. das was ich bei meinem letzten Flohmarkt Besuch erleben musste, ist für mich auf jeden Fall Erfahrung genug, entweder nicht mehr auf dem flohmarkt zu kaufen oder nur noch unter ganz bestimmten Voraussetzungen.


Inhalt:

  1. Was ist passiert?
  2. Fazit
  3. Wie kann ich sicherer auf dem Flohmarkt kaufen?
  4. Eure Meinung

Null-Kulanz-Politik bei der Bahn

Veröffentlicht am

Die Bahn ist immer nur dann genau, wenn es um die eigene Tasche geht und der Fahrgast etwas versäumt hat. Das bei der Bahn das Thema Kulanz „Neuland“ zu sein scheint, wie für Frau Merkel das Internet, habe ich heute – ein weiteres Mal (ich berichtete ja schon öfter…) – am eigenen Leib spüren dürfen.

Ich habe mich gerade geärgert, über mangelnde Kulanz Bei der Deutschen Bahn: Bei der Berechnung der Verbindung von Villingen nach Donaueschingen wurde mir als nächste Verbindung ein IC angezeigt, den ich dann auch betrat. Nicht nur, dass der Zug mit Verspätung einfuhr: Obwohl ich direkt in die Tür eingestiegen war, vor der die Mitarbeiterin der Bahn gestanden war, rief sie mich zurück (anstatt direkt etwas zu sagen…), als ich bereits gesessen war, fragte ob ich überhaupt ein Fernverkehr-Ticket hätte und meinte dann, ich müsse mit dem nächsten Zug fahren. OBWOHL der Preis exakt der gleiche ist, wie ich gerade festgestellt habe. Hätte sie mir im Zug das Ticket im Zug gelöst, würde das zum normalen Fahrpreis (den ich dann nochmal bezahlen müsste) 20,00 EUR Aufpreis (!!!) kosten.

Filmkritik: „La La Land“ nicht einmal „so lala“

Veröffentlicht am

Wertvolle Lebenszeit vergeudet

Ich weiß noch, wie die ganze Welt über den 2016 erschienen Film La La Land gesprochen hat und welcher Hype regelrecht durch den Film ausgelöst wurde. Ich habe mir den Film heute angesehen und bin beeindruckt von der Leistung der Marketingabteilung, denn mit OFFENSICHTLICHEM MÜLL 200 Auszeichnungen abzuräumen und damit in der gleichen Liga wie Titanic zu spielen, ist eine Meisterleistung.

Als besonders peinlich sehe ich die Verleihungen von Auszeichnung an, die DIESEM Film eine Auszeichnung zusprechen, aber Filmanbieter wie Netflix und andere Streaminganbieter generell von der Verleihung ausschließen und sich damit dem natürlichen Fortschritt verwehren.

Fans von Flittchen kommen auf ihre Kosten

Zugegebenerweise ist das Wort MÜLL etwas drastisch formuliert und ich bin mir sicher, dass dies von Zuschauern, die sich gerne in einer Traumwelt zu – für meine Ohren ungeeignete – Jazzmusik umhertänzelnde Flittchen beim Fremdgehen – denn dies ist die Haupthandlung des Filmes – ansehen, komplett anders gesehen wird. Es mag mit meiner Vergangenheit zusammen hängen, dass ich zu diesem Publikum nicht gehöre, auch nicht zu den Fans traditioneller Jazzmusik und ebenso wenig bin ich ein besonders großer oder regelmäßiger Anschauer von Filmen des Genres Musikfilm. Aber auch kein Gegner, denn nachdem es zwar etwas dauerte mich zu überreden, Pitch Perfect anzusehen, stand ich diesem am Ende eher Positiv gegenüber.

In dieser formlosen Filmrezension, will ich einfach mal ein wenig über den Film abkotzen, der heute einige Zeit meines Lebens vergeudet hat:

Artikel 13: Mail an EU-Abgeordneten Dr. Andreas Schwab

Veröffentlicht am

Wenn wir als Bürger nicht reagieren, geht es – zumindest wenn es nach dem EU-Parlament geht – bald Foren, Musik- oder Videoplattformen (z.B. Youtube) und Bilder-Webseiten (z.B. Instagram) an den Kragen, wenn nicht schon während des Hochladens Inhalte auf Urheberrechte Dritter geprüft werden. Tut es mir nach und schreibt Eurem Abgeordneten!

Ich habe an meinen EU-Abgeordneten geschrieben. Also nicht an meinen, sondern den meines Wahlkreises. Grund dafür ist, dass sich das Internet wohl bald grundsätzlich verändern wird, wenn es nach den Plänen des EU-Parlaments geht. Artikel 13 soll bald regeln, dass Internetplattformen bald bereits WÄHREND des Hochladens von Inhalten dazu verpflichtet werden soll, ob Inhalte einem anderen Urheber gehören, also beispielsweise sollen Plattformen wie Youtube prüfen, ob Inhalte Anderer vorhanden sind. Aber WOHER soll Youtube das wissen? Eigentlich lässt sich das nicht umsetzen und stehen Plattforminhaber damit automatisch mit einem Bein im Gefängnis.

Rückblick: 2018

Veröffentlicht am

Heute, 8 Monate nachdem sie das letzte Mal bei mir Arm lag, ich sie die Worte „Ich liebe Dich“ flüstern hören konnte und mich ohne weiteres zu den zu den obersten 1.000 of the luckies man on the world zählen konnte, bleibt mir nichts, außer die Erinnerung an die Zeit. An die tollste Zeit in meinem Leben. An das Gefühl, wie es sich anfühlt unendlich geliebt zu werden. An das Gefühl, dass jemand auf einen wartet, wenn man nach Hause kommt. Und ich bin dankbar für jede Sekunde, in der ich dieses Glück spüren durfte. Es gibt Menschen, die so etwas im ganzen Leben nicht erleben dürfen. Ich durfte. Und heute weiß ich es zu schätzen; noch mehr als zu der Zeit als wir beide Arm in Arm liegend so tief und fest schlafen konnten, wie es uns ohne den anderen nie möglich war. Noch mehr als zu der Zeit, als wir über die Zukunft sprachen, so, als hätten wir noch Jahrzehnte des gemeinsamen Lebens vor uns und nicht ahnten, dass unser Glück nur 6 Jahre lang anhalten würde. Und sogar noch mehr, als ich sie stolz vor Freunden und Geschäftspartnern als meine Freundin vorstellen konnte, als mein Mädchen und sie „Schatz“ und „Baby“ nennen durfte und genannt wurde, trotz der Tatsache dass Romantik und insbesondere Kosenamen nie etwas war, wofür Jacki stand.


Weitere Rückblicke (alle entstanden 2018):

Rückblick: 2017

Veröffentlicht am

2017 – ein Jahr, welches ich gerne nie erlebt hätte. Viele geliebte Personen hatte ich in meinem Leben bereits verloren. Selten durch Tod, eher durchLügen, Intrigen und die jeweils nachträgliche Feststellung, dass meine Menschenkenntnis mich wieder einmal aufs Kreuz gelegt hatte. Aber man hätte mir alles nehmen können; ich wäre dennoch – mit Jacki an meiner Seite – einer der glücklichsten Menschen der Welt geblieben. Doch das Schicksal wollte es anders. Obwohl wir von Kindern, einem Haus, einem Leben auf dem Dorf, einer Hochzeit geträumt hatten, wurde mir 2017 genommen, was mir am Allerwertvollsten war und was mich bisher über jeden Verlust locker hinweg getröstet hatte. Zum ersten Mal stellte ich fest, wie ungerecht das Leben sein kann. Ich hatte keine Chance; konnte nur zusehen.


Weitere Rückblicke (alle entstanden 2018):