To send a status update to openhab if the timer alarm is going off on the android phone we need some tools. First we need the openhab app installed and configured with the tasker plugin enabled Second we need tasker Third we need Automate to read notifications and, create a little logic. Automate Flow (OnePlus tested) I will explain the… Read more →
Tutorials
openHAB 3: conditional log Items
I want to skip the logging for some items like Spotify track progress (which updates every second) so that the logs are not polluted. Since openHAB version 3 log4j2 is used as logging framework and the log4j2.xml has to be used to configure logging. We can use a RegexFilter to configure such behaviour. How to The RegexFilter allows the formatted… Read more →
Gradle dependencySubstitution
I worked on a project that uses a framework. To add a new sub class I had to make the base class, that is part of the framework, open for extension. I was able to compile the framework on my own without the need to create a local artifact repository then create a new artifact and new version by the… Read more →
Letsencrypt Wildcard Certificate HowTo
After the delay of the ACMEv2 including the wildcard-endpoint [2] it finally is live today [3]. In addition to the ACME v2 requirement, requests for wildcard certificates require an DNS “TXT” record to verify control over the domain. Just “upgraded” my certificate to an root certificate follwing these steps: 1. Upgraded my certbot
1 2 3 | cd /opt/letsencrypt git reset --hard git pull |
2. Requested certificate (command is based… Read more →
Convert timestring to number Google Spreadsheet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | function toMS(input) { const sRegex = /\d+s/g; const msRegex = /\d+ms/g; const usRegex = /\d+us/g; Logger.log("Running toMS with parameter: " + input); var sToMs = 0; var msToMs = 0; var usToMs = 0; while((seg = sRegex.exec(input)) !== null) { sToMs += parseInt(seg) * 1000; } while((seg = msRegex.exec(input)) !== null) { msToMs += parseInt(seg); } while((seg = usRegex.exec(input)) !== null) { usToMs += parseInt(seg) / 1000; } usToMs += msToMs + sToMs; return usToMs; } function toUS(input) { return toMS(input) * 1000; } |
JavaFX Gluon Ignite Guice Inject Controller
I had to inject a whole controller into another controller with the guice implementation of gluon ignite. I will show an approach doing so. This is applicable if you have set the controller id in your fxml. Otherwise this snipped requires slightly modifications. I assume you have ignite already running and injecting stuff already but facing the “inject a controller… Read more →
Bootstrap Shortcodes for WordPress Alternatives
Sometimes there are support request on the WordPress plugin bootstrap shortcodes to provide advanced bootstrap components (e.g. table builder). There are 2 reasons bootstrap shortcodes is not that advanced as you might assume: You can’t edit generated shortcodes – it’s not a visual builder There are some components missing I think it’s sufficient for some people that want to take… Read more →
VNC Server / VNC Viewer
Als Alternative zu RDP unter Windows bietet sich das VNC Protokoll an, das unter Linux weit verbreitet ist. Dieses bietet erheblich mehr Konfigurationsmöglichkeiten gegenüber RDP, die jedoch nicht zwangsläufig anfasst werden müssen. Gute Erfahrung habe ich mit der Software Real VNC gemacht – diese hat VNC Server für Windows, Mac, Linux und zusätzlich VNC Viewer für die genannten und weiterhin Android, iOS… Read more →
Generate Javadoc with UML Diagrams
It is very useful to have UML Diagrams integrated into your javadoc – they give you a neat visual overview of the contents of you sourcecode. I want to show you how to integrate this into an automated build. I implemented this with an ant target and my IDE Netbeans. Add this to your build.xml in the root of your… Read more →
Don’t Stick to hta Applications
If you have the burden to work on hta applications you might get into conflict with incompatibilities. So am I. I wanted to migrate a hta application from 2012 with bootsrap 2 to bootstrap 3. Bootstrap 3 doesn’t support IE 7 any more and also the fix with Respond.js doesn’t work in local files. So what now? I found node… Read more →