Merge branch 'master' of gitlab.com:wolutator/homepage

This commit is contained in:
Wolfgang Hottgenroth 2019-01-03 19:23:36 +01:00
commit 77cff49e41
Signed by: wn
GPG Key ID: B586EAFCDF2F65F4
34 changed files with 737 additions and 49 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
*~

1
dist/main.js vendored
View File

@ -35,6 +35,7 @@ let masterTmpl;
let toc;
let cache = {};
app.engine('pag', (filePath, options, callback) => {
// logger.info(JSON.stringify(options))
if (!(filePath in cache)) {
logger.info(`${filePath} not yet in cache`);
fs.readFile(filePath, (err, content) => {

2
dist/main.js.map vendored
View File

@ -1 +1 @@
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}

View File

@ -1,27 +1,6 @@
<!-- { "toc": "compute", "title": "Projects - Just for Fun" } -->
<h1>So ugly ... why not Wordpress?</h1>
<p>
I shut down my homepage at wordpress.com since it was absolutely unclear to me which data was collected there. I decided to run the homepage on my own server again, since I know exactly which data is collected here: There is the Apache log with the requesters IP stripped away:
</p>
<p>
<pre>
<code language="Apache">
CustomLog "logs/access_log" common
#LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%l %u %t \"%r\" %>s %b" common
</pre>
</code>
</p>
<p>
Nothing else. The homepage engine just logs which post or page is accessed and served, nothing more. If you like to have a look: <a href="https://gitlab.com/wolutator/homepage" target="_blank">https://gitlab.com/wolutator/homepage</a>.
</p>
<p>
And since I'm quite bad in CSS, it currently looks so ugly.
</p>
<h1>My Blog</h1>

View File

@ -15,7 +15,8 @@
<div class="topnav">
<a href="index">Home</a>
<a href="pages/impressum">Impressum</a>
<a href="pages/about">About</a>
<a href="pages/pubkey">PubKey</a>
</div>
<div class="row">
@ -25,7 +26,6 @@
</div>
<div class="footer">
<a href="pages/impressum">Impressum</a>
<a href="reload">Reload</a>
</div>
</body>

99
docroot/pages/about.pag Normal file
View File

@ -0,0 +1,99 @@
<!-- { "title": "About" } -->
<img class="floatright" src="files/IMG_6875_2-very-small.jpg"/>
<h1>About</h1>
Wolfgang Hottgenroth<br/>
Eupenstr. 20<br/>
45259 Essen<br/>
<address>woho@hottis.de</address><br/>
<p>
This is a hobby-only homepage without any advertising or other commercial interests.
</p>
<h1>My Profiles</h1>
<ul>
<li><a href="https://gitlab.com/wolutator">GitLab</a></li>
<li><a href="https://twitter.com/wollud1969">Twitter</a></li>
<li><a href="https://keybase.io/wolutator/">Keybase</a></li>
<li><a href="https://github.com/wollud1969">GitHub</a></li>
<li><a href="https://www.xing.com/profile/Wolfgang_Hottgenroth/cv">XING</a></li>
</ul>
<h1>So ugly ... why not Wordpress?</h1>
<p>
I shut down my homepage at wordpress.com since it was absolutely unclear to me which data was collected there. I decided to run the homepage on my own server again.
</p>
<p>
Although according to Art. 2 (2) c of DSGVO that regulation is completely irrelevant for me, since this is a hobby-only blog without any advertising or commercial interests, it appeared to me, that limiting the number of collected data could be a good idea.
</p>
<p>
For this system I know exactly which data is collected here: There is the Apache httpd running on an old PowerPC MacMini with OpenBSD bastion host, which proxies requests to the homepage engine. For the Apache log the requesters IP has been stripped away:
<p>
<pre>
<code language="Apache">
CustomLog "logs/access_log" common
#LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%l %u %t \"%r\" %>s %b" common
</pre>
</code>
</p>
<p>
The logfile looks like this now:
</p>
<p>
<pre>
- - [25/May/2018:12:43:58 +0200] "GET /wolutator HTTP/1.1" 302 76
- - [25/May/2018:12:43:58 +0200] "GET /wolutator/index HTTP/1.1" 304 -
- - [25/May/2018:12:43:58 +0200] "GET /wolutator/files/default.css HTTP/1.1" 304 -
- - [25/May/2018:12:43:58 +0200] "GET /wolutator/files/highlight/styles/default.css HTTP/1.1" 304 -
- - [25/May/2018:12:43:58 +0200] "GET /wolutator/files/highlight/highlight.pack.js HTTP/1.1" 304 -
- - [25/May/2018:12:43:58 +0200] "GET /wolutator/files/cropped-img_2723.jpg HTTP/1.1" 304 -
- - [25/May/2018:12:43:59 +0200] "GET /favicon.ico HTTP/1.1" 404 209
</pre>
</p>
<p>
The homepage engine is running on an old Intel MacMini with Debian. It just logs which post or page is accessed and served, nothing more. If you like to have a look: <a href="https://gitlab.com/wolutator/homepage" target="_blank">https://gitlab.com/wolutator/homepage</a>.
</p>
<p>
The logging of the homepage engine looks like this:
</p>
<p>
<pre>
wn@mac:/opt/services/homepage$ npm start -- -c homepage.conf
> homepage@1.0.0 start /opt/services/homepage
> node dist/main.js "-c" "homepage.conf"
12:57:59.910 [ II ] Homepage starting
12:57:59.922 [ II ] building toc
12:57:59.937 [ II ] Homepage running
12:57:59.938 [ II ] Homepage is listening
12:58:19.008 [ II ] redirecting / to /index
12:58:19.142 [ II ] /opt/services/homepage/docroot/index.pag not yet in cache
12:58:24.178 [ II ] /opt/services/homepage/docroot/posts/2018-04-30.01/article.pag not yet in cache
12:58:25.550 [ II ] /opt/services/homepage/docroot/index.pag served from cache
12:58:26.985 [ II ] /opt/services/homepage/docroot/pages/impressum.pag not yet in cache
12:58:29.647 [ II ] /opt/services/homepage/docroot/index.pag served from cache
12:58:31.060 [ II ] /opt/services/homepage/docroot/posts/2018-02-22.01/article.pag not yet in cache
12:58:35.230 [ II ] /opt/services/homepage/docroot/index.pag served from cache
12:58:37.717 [ II ] /opt/services/homepage/docroot/index.pag served from cache
</pre>
</p>
<p>
And since I'm quite bad in CSS, it currently looks so ugly.
</p>

View File

@ -1,5 +0,0 @@
<!-- { "title": "Impressum" } -->
<h1>Impressum</h1>
Wolfgang Hottgenroth<br/>
<address>woho@hottis.de</address><br/>

131
docroot/pages/pubkey.pag Normal file
View File

@ -0,0 +1,131 @@
<!-- { "title": "My Public PGP Key" } -->
<h1>#title#</h1>
<p>
<a href="files/75217C088B3EF6AE55F4D4C7B586EAFCDF2F65F4.key">for download</a><br/>
<pre>
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
UzZbs54AnA==
=GSFz
-----END PGP PUBLIC KEY BLOCK-----
</pre>
</p>
<h3>Fingerprint</h3>
<p>
<pre>
7521 7C08 8B3E F6AE 55F4 D4C7 B586 EAFC DF2F 65F4
</pre>
</p>

View File

@ -1,23 +1,32 @@
define(`TITLE', `Something completely different: SNMP to MySQL')
define(`DATE', `2015-10-12')
define(`CONTENT', `
I'm helping to maintain a fleet of about 50 printers in a charity distributed over about 30 locations in the city. Now, we wanted to know how much the individual printers are used to get some numbers for an effort to reduce the number of printers.
<!-- { "title", "Something completely different: SNMP to MySQL" } -->
<h1>#title#</h1>
<p>
I'm helping to maintain a fleet of about 50 printers in a charity distributed over about 30 locations in the city. Now, they wanted to know how much the individual printers are utilized to get some numbers for an effort to reduce the number of printers.
</p>
<p>
So, what is more self-evident then using SNMP to query the total page counter on a daily base - or better on an hourly base since the printers are switched off at this or that time and those we at least get sometimes valid data.
</p>
<p>
Typical monitoring tools like Cacti or Zabbix are very good in drawing nice graphs but not so good in delivering absolute numbers. So I decided to write something on my own: query some devices for some SNMP data points and store the results in a database. Which devices and which data points and which combinations? Everything in the database too.
</p>
I looked for a SNMP library, first in Python, then in Java - since I'm quite familiar with these languages - but everything I found was rather complicated to use. Then I looked for something in C# and found ''SnmpSharpNet''. Still not that easy to use but easier then what I found in Python or Java.
<p>
I looked for a SNMP library, first in Python, then in Java - since I'm quite familiar with these languages - but everything I found was rather complicated to use. Then I looked for something in C# and found ''SnmpSharpNet''. Still not that easy to use but much easier then what I found in Python or Java.
</p>
<p>
For that reason I started coding the little tool in C#. And what I did is working very well now. Configuration and error-handling is not perfect yet, but it is working. Enough for today.
</p>
<p>
BTW: I switched developing the code between Microsoft Visual Studio 2013 (on Windows) and Xamarin Studio (on the Mac) and run the tool on Linux. Works without any problem. Very nice!
<!--more-->
</p>
[code language="csharp"]
<pre>
<code language="csharp">
namespace Snmp2Mysql
{
@ -67,9 +76,11 @@ namespace Snmp2Mysql
}
}
}
[/code]
</code>
</pre>
[code language="SQL"]
<pre>
<code language="SQL">
CREATE TABLE `device_t` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(45) NOT NULL,
@ -107,14 +118,14 @@ CREATE TABLE `collecteddata_t` (
PRIMARY KEY (`id`),
KEY `devicedataitem_fk_idx` (`devicedataitem`),
CONSTRAINT `devicedataitem_fk` FOREIGN KEY (`devicedataitem`) REFERENCES `devicedataitem_t` (`id`)
[/code]
</code>
<pre>
And here are the sources:
<a href="http://a385e-5.de/wp-content/uploads/Snmp2Mysql.zip">Snmp2Mysql</a>
<a href="https://gitlab.com/wolutator/Snmp2Mysql.git">https://gitlab.com/wolutator/Snmp2Mysql.git</a>
I'm using GPL code from MySQL (the MySQL Connector for .NET), find it here <a href="http://dev.mysql.com/downloads/connector/net/" target="_blank">http://dev.mysql.com/downloads/connector/net/</a> and the SNMP library from <a href="http://www.snmpsharpnet.com" target="_blank">http://www.snmpsharpnet.com</a>.
Ah, evaluation of the data? Haven't thought about, maybe using some tricky SQL statement or an Excel pivot table. I'll come back about that.
')

View File

@ -0,0 +1,34 @@
<!--{ "title": "Why always SPI CS on pin 10?" } -->
<h1>#title#</h1>
<p>
Thank you, Ladyada, for <a href="https://learn.adafruit.com/adafruit-2-8-tft-touch-shield-v2">this great display</a>.
</p>
<p>
But why is TFT CS on pin 10?
</p>
<p>
<a href="http://a385e5.files.wordpress.com/2016/03/bildschirmfoto-2016-03-03-um-21-48-49.png" rel="attachment wp-att-711"><img src="http://a385e5.files.wordpress.com/2016/03/bildschirmfoto-2016-03-03-um-21-48-49.png" alt="Bildschirmfoto 2016-03-03 um 21.48.49" width="722" height="449" class="alignnone size-full wp-image-711" /></a>
</p>
<p>
Pin 10 is also the SPI CS for the Ethernet shield. Why not, for instance, pin 6:
</p>
<p>
<a href="http://a385e5.files.wordpress.com/2016/03/img_1211-e1457038834523.jpg" rel="attachment wp-att-712"><img src="http://a385e-5.de/wp-content/uploads/IMG_1211-e1457038834523-1024x768.jpg" alt="IMG_1211" width="474" height="356" class="alignnone size-large wp-image-712" /></a>
</p>
<p>
Carefully lift pin 9 of the level shifter and connect it using a thin wire with pin 6 of the Arduino connector.
</p>
<p>
And voila, both the display and the ethernet shield is working:
</p>
<p>
<a href="http://a385e5.files.wordpress.com/2016/03/img_1212-e1457039094609.jpg" rel="attachment wp-att-713"><img src="http://a385e-5.de/wp-content/uploads/IMG_1212-e1457039094609-1024x768.jpg" alt="IMG_1212" width="474" height="356" class="alignnone size-large wp-image-713" /></a>
</p>

View File

@ -0,0 +1,39 @@
<!-- { "title": "Integrated Thermometer and Timer" } -->
<h1>#title#</h1>
<p>
To brew green tea you need water of about 75°C. To know that your water has 100°C is easy, you can see that it is boiling. For 75°C you need a thermometer. Then you also need to take care about the brewing time. It should be usually two minutes.
</p>
<p>
There are such integrated thermometer and timer things on Amazon, but that's not me cup of tea, I decided to build one on my own. It should run on batteries, it should be small and it should make no noise (for office use).
</p>
<p>
In between I was reading "Patterns for Time-Triggered Embedded Systems" from Michael Pont. And afterwards I was curious to use such a simple cooperative scheduler instead of the super-loop, as it is common in the Arduino domain.
</p>
<p>
I used a MSP430G2553 with 10bit-ADCs, a PT1000 sensor and two seven-segment LED displays.
</p>
<p>
The code is available at <s><a href="https://bitbucket.org/wollud1969/teathermotimer" target="_blank">https://bitbucket.org/wollud1969/teathermotimer</a></s> <a href="https://gitlab.com/wolutator/TeaThermoTimer">https://gitlab.com/wolutator/TeaThermoTimer</a>.
</p>
<p>
<a href="files/img_0813-e1473432862286.jpg"><img src="files/img_0813-e1473432862286_small.jpg"/></a>
</p>
<p>
<a href="files/img_0814.jpg"><img src="files/img_0814_small.jpg" /></a>
</p>
<p>
Schematics:<br/>
<a href="files/201609091558_0001.pdf">201609091558_0001</a>
</p>
<p>
Calculation for measurement:<br/>
<a href="files/201609091558_0002.pdf">201609091558_0002</a>
</p>

View File

@ -0,0 +1,29 @@
<!-- { "title": "Integrated Tea Timer and Thermometer, Second Edition" } -->
<h1>#title#</h1>
<p>
I've two offices, so I'm requiring two of this timers.
</p>
<p>
The second one I built with a three-digit display and auto-power-down and start with a push-button.
</p>
<p>
This thing consumes in operation about 20mA, which is a real lot for so few functionality, but most of the power goes into the display. I was looking for a simple LCD on ebay, but it seems that most of the LCD 7-segment display have only one common and one pin for every single segment instead of one common per digit. These are too many pins for the 2553 and I didn't want to put an additional LCD controller on the board.
</p>
<p>
However, when the thing goes in LPM4, it only consumes about 0,1uA, as it is written in the datasheet. Very important to achieve this low power consumption: an input pin requires more power than an output pin put into the right level. And of course the reference generator of the ADC needs to be shutdown.
</p>
<p>
The sources are still available here <s>https://bitbucket.org/wollud1969/teathermotimer</s> <a href="https://gitlab.com/wolutator/TeaThermoTimer/tree/SecondEdition">https://gitlab.com/wolutator/TeaThermoTimer/tree/SecondEdition</a>, look for the branch <code>SecondEdition</code>.
</p>
<p>
The schematic is more or less the same, just on digit display more and a reset push-button.
</p>
<a href="files/img_0818-e1473677307841.jpg"><img src="files/img_0818-e1473677307841_small.jpg"/></a>
<a href="files/img_0821-e1473677332189.jpg"><img src="files/img_0821-e1473677332189_small.jpg"/></a>

View File

@ -10,7 +10,9 @@ In this experiment I put everything on one STM32 microcontroller. Here I used th
</p>
<p>
<img src="files/img_0140.jpg" alt="img_0140" width="800" />
<a href="files/img_0140.jpg">
<img src="files/img_0140_small.jpg"/>
</a>
</p>
<p>
@ -18,7 +20,9 @@ From top to bottom you see the CAN driver, the STM32 board, opto coupler to sep
</p>
<p>
<img src="files/img_0144.jpg" alt="img_0144" width="800" />
<a href="files/img_0144.jpg">
<img src="files/img_0144__small.jpg"/>
</a>
</p>
<p>
@ -26,7 +30,9 @@ The power supply consists of a traditional transformer and (top right) the recti
</p>
<p>
<img src="files/img_0146.jpg" alt="img_0146" width="800" />
<a href="files/img_0146.jpg">
<img src="files/img_0146_small.jpg"/>
</a>
</p>
<p>
@ -34,7 +40,7 @@ The motor is the same as in the earlier experiment - I don't have too much of th
</p>
<p>
<a href="files/img_0143-e1482141676335.jpg"><img src="files/img_0143-e1482141676335.jpg" alt="img_0143" width="800" /></a>
<a href="files/img_0143-e1482141676335.jpg"><img src="files/img_0143-e1482141676335_small.jpg"/></a>
</p>
<p>

BIN
files/201609091558_0001.pdf Normal file

Binary file not shown.

BIN
files/201609091558_0002.pdf Normal file

Binary file not shown.

View File

@ -0,0 +1,115 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
UzZbs54AnA==
=GSFz
-----END PGP PUBLIC KEY BLOCK-----

BIN
files/IMG_0536.JPG Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

BIN
files/IMG_6875_2.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

View File

@ -1,8 +1,8 @@
body {
font-family: "Optima", sans-serif;
font-size: 16px;
margin: 0 5% 0 5%;
width: 1080px;
margin: 20px 10% 0 10%;
width: 80%;
background-color: lightblue;
}
@ -62,3 +62,8 @@ body {
background-color: #ddd;
color: black;
}
.floatright {
float: right;
padding-top: 25px;
}

241
files/hm-config.txt Normal file
View File

@ -0,0 +1,241 @@
MASTER
{
Channel: 2
{
[TRANSMIT_TRY_MAX]: 06
[AES_ACTIVE]: 00
[POWERUP_ACTION]: 00
[STATUSINFO_RANDOM]: 01
[STATUSINFO_MINDELAY]: 04
}
Channel: 1
{
[TRANSMIT_TRY_MAX]: 06
[AES_ACTIVE]: 00
[POWERUP_ACTION]: 00
[STATUSINFO_RANDOM]: 01
[STATUSINFO_MINDELAY]: 04
}
Channel: 0
{
[ROAMING]: 00
[POLLING_INTERVAL]: 3c
[CONF_BUTTON_TIME]: ff
[INTERNAL_KEYS_VISIBLE]: 01
[POLLING]: 00
[LOCAL_RESET_DISABLE]: 00
}
}
VALUES
{
Channel: 2
{
[WORKING]: 00
[INHIBIT]: 00
[STATE]: 00
[INSTALL_TEST]: 00
[ON_TIME]: 00
}
Channel: 1
{
[WORKING]: 00
[INHIBIT]: 00
[STATE]: 00
[INSTALL_TEST]: 00
[ON_TIME]: 00
}
Channel: 0
{
[CENTRAL_ADDRESS_SPOOFED]: 00
[RSSI_PEER]: 00
[BOOT]: 00
[RSSI_DEVICE]: 3a
[AES_KEY]: 00
[CONFIG_PENDING]: 00
[LAST_PACKET_RECEIVED]: 5b 16 17 7e
[DUTYCYCLE]: 00
[UNREACH]: 00
[LOWBAT]: 00
[STICKY_UNREACH]: 01
}
}
LINK
{
Channel: 2
{
Address: 0xfd0001
{
Remote channel: 2
{
[UI_HINT]: 00
[SHORT_ON_TIME]: ff
[SHORT_ONDELAY_TIME]: 00
[SHORT_OFF_TIME]: ff
[SHORT_OFFDELAY_TIME]: 00
[SHORT_JT_ONDELAY]: 06
[SHORT_JT_ON]: 06
[SHORT_JT_OFFDELAY]: 06
[SHORT_JT_OFF]: 06
[SHORT_CT_ONDELAY]: 00
[SHORT_CT_OFFDELAY]: 00
[LONG_JT_OFF]: 06
[SHORT_ON_TIME_MODE]: 00
[LONG_ONDELAY_TIME]: 00
[SHORT_CT_ON]: 00
[LONG_CT_ONDELAY]: 00
[LONG_ACTION_TYPE]: 01
[LONG_COND_VALUE_HI]: 64
[LONG_OFF_TIME_MODE]: 00
[LONG_OFFDELAY_TIME]: 00
[LONG_CT_OFFDELAY]: 00
[SHORT_COND_VALUE_LO]: 32
[LONG_COND_VALUE_LO]: 32
[LONG_CT_OFF]: 00
[LONG_JT_ONDELAY]: 06
[SHORT_OFF_TIME_MODE]: 00
[LONG_CT_ON]: 00
[LONG_MULTIEXECUTE]: 01
[SHORT_CT_OFF]: 00
[LONG_OFF_TIME]: ff
[LONG_JT_OFFDELAY]: 06
[LONG_ON_TIME_MODE]: 00
[LONG_JT_ON]: 06
[LONG_ON_TIME]: ff
[SHORT_ACTION_TYPE]: 01
[SHORT_COND_VALUE_HI]: 64
}
}
Address: 0x5a518b
{
Remote channel: 2
{
[UI_HINT]: 00
[SHORT_ON_TIME]: ff
[SHORT_ONDELAY_TIME]: 00
[SHORT_OFF_TIME]: ff
[SHORT_OFFDELAY_TIME]: 00
[SHORT_JT_ONDELAY]: 03
[SHORT_JT_ON]: 04
[SHORT_JT_OFFDELAY]: 06
[SHORT_JT_OFF]: 01
[SHORT_CT_ONDELAY]: 00
[SHORT_CT_OFFDELAY]: 00
[LONG_JT_OFF]: 01
[SHORT_ON_TIME_MODE]: 00
[LONG_ONDELAY_TIME]: 00
[SHORT_CT_ON]: 00
[LONG_CT_ONDELAY]: 00
[LONG_ACTION_TYPE]: 01
[LONG_COND_VALUE_HI]: 64
[LONG_OFF_TIME_MODE]: 00
[LONG_OFFDELAY_TIME]: 00
[LONG_CT_OFFDELAY]: 00
[SHORT_COND_VALUE_LO]: 32
[LONG_COND_VALUE_LO]: 32
[LONG_CT_OFF]: 00
[LONG_JT_ONDELAY]: 03
[SHORT_OFF_TIME_MODE]: 00
[LONG_CT_ON]: 00
[LONG_MULTIEXECUTE]: 01
[SHORT_CT_OFF]: 00
[LONG_OFF_TIME]: ff
[LONG_JT_OFFDELAY]: 06
[LONG_ON_TIME_MODE]: 00
[LONG_JT_ON]: 04
[LONG_ON_TIME]: ff
[SHORT_ACTION_TYPE]: 01
[SHORT_COND_VALUE_HI]: 64
}
}
}
Channel: 1
{
Address: 0xfd0001
{
Remote channel: 1
{
[UI_HINT]: 00
[SHORT_ON_TIME]: ff
[SHORT_ONDELAY_TIME]: 00
[SHORT_OFF_TIME]: ff
[SHORT_OFFDELAY_TIME]: 00
[SHORT_JT_ONDELAY]: 06
[SHORT_JT_ON]: 06
[SHORT_JT_OFFDELAY]: 06
[SHORT_JT_OFF]: 06
[SHORT_CT_ONDELAY]: 00
[SHORT_CT_OFFDELAY]: 00
[LONG_JT_OFF]: 06
[SHORT_ON_TIME_MODE]: 00
[LONG_ONDELAY_TIME]: 00
[SHORT_CT_ON]: 00
[LONG_CT_ONDELAY]: 00
[LONG_ACTION_TYPE]: 01
[LONG_COND_VALUE_HI]: 64
[LONG_OFF_TIME_MODE]: 00
[LONG_OFFDELAY_TIME]: 00
[LONG_CT_OFFDELAY]: 00
[SHORT_COND_VALUE_LO]: 32
[LONG_COND_VALUE_LO]: 32
[LONG_CT_OFF]: 00
[LONG_JT_ONDELAY]: 06
[SHORT_OFF_TIME_MODE]: 00
[LONG_CT_ON]: 00
[LONG_MULTIEXECUTE]: 01
[SHORT_CT_OFF]: 00
[LONG_OFF_TIME]: ff
[LONG_JT_OFFDELAY]: 06
[LONG_ON_TIME_MODE]: 00
[LONG_JT_ON]: 06
[LONG_ON_TIME]: ff
[SHORT_ACTION_TYPE]: 01
[SHORT_COND_VALUE_HI]: 64
}
}
Address: 0x5a518b
{
Remote channel: 1
{
[UI_HINT]: 00
[SHORT_ON_TIME]: ff
[SHORT_ONDELAY_TIME]: 00
[SHORT_OFF_TIME]: ff
[SHORT_OFFDELAY_TIME]: 00
[SHORT_JT_ONDELAY]: 03
[SHORT_JT_ON]: 04
[SHORT_JT_OFFDELAY]: 06
[SHORT_JT_OFF]: 01
[SHORT_CT_ONDELAY]: 00
[SHORT_CT_OFFDELAY]: 00
[LONG_JT_OFF]: 01
[SHORT_ON_TIME_MODE]: 00
[LONG_ONDELAY_TIME]: 00
[SHORT_CT_ON]: 00
[LONG_CT_ONDELAY]: 00
[LONG_ACTION_TYPE]: 01
[LONG_COND_VALUE_HI]: 64
[LONG_OFF_TIME_MODE]: 00
[LONG_OFFDELAY_TIME]: 00
[LONG_CT_OFFDELAY]: 00
[SHORT_COND_VALUE_LO]: 32
[LONG_COND_VALUE_LO]: 32
[LONG_CT_OFF]: 00
[LONG_JT_ONDELAY]: 03
[SHORT_OFF_TIME_MODE]: 00
[LONG_CT_ON]: 00
[LONG_MULTIEXECUTE]: 01
[SHORT_CT_OFF]: 00
[LONG_OFF_TIME]: ff
[LONG_JT_OFFDELAY]: 06
[LONG_ON_TIME_MODE]: 00
[LONG_JT_ON]: 04
[LONG_ON_TIME]: ff
[SHORT_ACTION_TYPE]: 01
[SHORT_COND_VALUE_HI]: 64
}
}
}
}

BIN
files/img_0140_small.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 397 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

BIN
files/img_0144_small.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

BIN
files/img_0146_small.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

BIN
files/img_0814.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
files/img_0814_small.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 928 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@ -46,6 +46,7 @@ let cache: any = {}
app.engine('pag', (filePath: string, options: any, callback: any) => {
// logger.info(JSON.stringify(options))
if (! (filePath in cache)) {
logger.info(`${filePath} not yet in cache`)
@ -122,3 +123,4 @@ app.listen(config.dict.httpPort, () => {
})
logger.info("Homepage running")