Archiv für das Jahr: 2016

EPLAN-API: Showcase 2016 Oktober

Man merkt es hier bisl weniger, aber hab derzeit sehr viel mit der EPLAN API zu tun, was mir auch riesig Spaß macht.
Darum hier mal ein kleiner Auszug…

 

ToggleLayerTable

Viele von euch kennen bestimmt die API Erweiterung ToggleLayer. Mit der ist es möglich einzelne Ebenen umzuschalten. Aufgrund einer Kundenanforderung habe ich das ganze nun auch für die gesamte Ebenenverwaltung geschrieben. Der Action übergibt man einfach eine *.elc Datei, welche alle Ebenen beinhaltet und diese wird dann importiert.

Von |2016-10-20T07:36:57+02:002016-10-20|EPLAN, EPLAN-API|

OfficeSpace

Jetzt bin ich glaub ich mit der Büro Automatisierung durch :^)

Ich habe alle Verbraucher am Schreibtisch an einer FRITZ!DECT200, welche 10A ab kann. Diese habe ich dann per Zeitschaltuhr immer wochentags ab 6:30 eingeschalten.

Problem: Natürlich ging das an auch wenn ich nicht im Büro war, oder war aus wenn ich früher da war.

Darum habe ich mir ein weiteres Python Script geschrieben, damit beim Hochfahren des Rechners auch gleich diese Steckdose angeht. Die Steckdose hat eine Funktion welche automatisch abschaltet bei einer angegebenen Leistung & Zeit. Somit wenn der Rechner aus ist schaltet auch die Steckdose aus. Das merkt man sehr, da Geräte wie Monitor usw. in Standby gehen. Denn der Laptop lädt natürlich weiter und hängt nicht an der Dose.

Verwendet habe ich die Library PyDect200, schön einfach…

Zusätzlich zum Schreibtisch wird auch mein Aquarium im Büro eingeschaltet, ausschalten dann weiterhin über Zeitschaltuhr. Denn mal ehrlich, die Fische sollen auch arbeiten wenn ich im Büro bin :^)

#############################################################################
# OfficeSpace
#############################################################################

#!/usr/bin/env python
# -- coding: utf-8 --
from __future__ import (absolute_import, division,
                        print_function, unicode_literals)
import time


print("Init...")
try:
        from PyDect200 import PyDect200
except:
        print(u'PyDect200 is not installed!')
        print(u'run: pip install PyDect200')
        exit()
import getpass

try:
    PyDect200.__version__
except:
    PyDect200 = PyDect200.PyDect200

fritzbox_pw = "passwordOfFritzbox"
aquarium_id = "123"
buro_id = "456"

print("Devices:")
f = PyDect200(fritzbox_pw)
device_names = f.get_device_names()
print(device_names)

print("Switching on...")
f.switch_onoff(aquarium_id,1)
f.switch_onoff(buro_id,1)

print("Finished")
Von |2016-10-14T07:24:02+02:002016-10-17|Home Automation, Python|

VSColorOutput

Mich hat der monotone Output in Visual Studio immer schon gestört. Viele Informationen die (meist) nicht interessieren und einige sehr wichtige die man vor lauter Bäumen nicht sieht.

Durch Zufall, ohne danach zu suchen, bin ich auf VSColorOutput gestoßen und bin begeistert. Echte Empfehlung!

screenshot

Von |2018-04-24T16:13:04+02:002016-10-14|C#, Coding|

400. Beitrag

… und ich hab es verpasst, denn es sind schon 401.

Vielen Dank an alle Leser, ich hoffe ich komme wieder mehr zum Schreiben!

400 celebration monument

Von |2016-10-14T14:19:35+02:002016-10-14|Allgemein|

Logging-Framework: Serilog

Ich werde ab und zu gefragt wie ich denn Daten zur Laufzeit (nicht Debugging) mit logge.

Log4Net war hier lange Platzhirsch, aber für mich und viele andere ist es nun Serilog. Denkbar einfach zu implementieren. Es gibt viele Sinks (Ziele für das Logging, z.B. Datenbanken, Dateien, Console).

Das ganze in kostenlos und OpenSource…

Hier ein kleines Beispiel für einen Logger der in eine Datei schreibt und zusätzlich in die Console, auch schön in Bunt von hier:

Log.Logger = new LoggerConfiguration()
    .WriteTo.LiterateConsole()
    .WriteTo.RollingFile("log-{Date}.txt")
    .CreateLogger();

Log.Information("Ah, there you are!");

coloredconsolesinkdemo

Von |2016-10-13T13:46:45+02:002016-10-13|C#|
Nach oben