mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
Documentation changes
git-svn-id: https://svn.fhem.de/fhem/trunk@495 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
8fabbf057b
commit
8ddd07ab22
@ -551,3 +551,4 @@
|
||||
- bugfix: CUL_RFR fixes (chaining RFR's should work)
|
||||
- bugfix: Path in the examples fixed (got corrupted)
|
||||
- bugfix: PachLog fixes from Axel
|
||||
- bugfix: HOWTO/Examples revisited for correctness
|
||||
|
@ -12,29 +12,31 @@ all:
|
||||
|
||||
install:install-base
|
||||
-mv $(VARDIR)/fhem.cfg $(VARDIR)/fhem.cfg.`date "+%Y-%m-%d_%H:%M:%S"`
|
||||
cp examples/sample_fhem $(VARDIR)/fhem.cfg
|
||||
cp examples_changed/sample_fhem $(VARDIR)/fhem.cfg
|
||||
@echo
|
||||
@echo
|
||||
@echo Edit $(VARDIR)/fhem.cfg then type
|
||||
@echo Start fhem with
|
||||
@echo perl $(BINDIR)/fhem.pl $(VARDIR)/fhem.cfg
|
||||
|
||||
install-pgm2:install-base
|
||||
cp -r webfrontend/pgm2/* $(MODDIR)/FHEM
|
||||
cp docs/commandref.html docs/faq.html docs/HOWTO.html $(MODDIR)/FHEM
|
||||
-mv $(VARDIR)/fhem.cfg $(VARDIR)/fhem.cfg.`date "+%Y-%m-%d_%H:%M:%S"`
|
||||
cp examples/sample_pgm2 $(VARDIR)/fhem.cfg
|
||||
cd examples; for i in *; do cp -r $$i $(MODDIR)/FHEM/example.$$i; done
|
||||
cp examples_changed/sample_pgm2 $(VARDIR)/fhem.cfg
|
||||
cd examples_changed; for i in *; do cp -r $$i $(MODDIR)/FHEM/example.$$i; done
|
||||
@echo
|
||||
@echo
|
||||
@echo Edit $(VARDIR)/fhem.cfg then type
|
||||
@echo Start fhem with
|
||||
@echo perl $(BINDIR)/fhem.pl $(VARDIR)/fhem.cfg
|
||||
|
||||
install-base:
|
||||
mkdir -p $(BINDIR) $(MODDIR) $(VARDIR)
|
||||
cp fhem.pl $(BINDIR)
|
||||
cp -r FHEM $(MODDIR)
|
||||
perl -pi -e 's,modpath \.,modpath $(MODDIR),' examples/[a-z]*
|
||||
perl -pi -e 's,/tmp,$(VARDIR),' examples/[a-z]*
|
||||
rm -rf examples_changed
|
||||
cp -r examples examples_changed
|
||||
perl -pi -e 's,modpath \.,modpath $(MODDIR),' examples_changed/[a-z]*
|
||||
perl -pi -e 's,([^h]) /tmp,$$1 $(VARDIR),' examples_changed/[a-z]*
|
||||
|
||||
dist:
|
||||
@echo Version is $(VERS), Date is $(DATE)
|
||||
|
@ -5,10 +5,6 @@
|
||||
<body style="background-color: white;">
|
||||
<h2>FHEMWEB Howto</h2>
|
||||
|
||||
<b>Note:</b> Don't forget to type "save" in the FHEMWEB/pgm2 "Fhem cmd"
|
||||
input field after defining a device or setting its attribute. Otherwise the
|
||||
changes will disappear after the next start.</br><br>
|
||||
|
||||
<a href="#starting">Starting</a><br/>
|
||||
<a href="#FHZ">Attaching an FHZ device</a><br/>
|
||||
<a href="#FS20rx">Configuring FS20 receivers</a><br/>
|
||||
@ -25,11 +21,17 @@
|
||||
<a name="starting"/>
|
||||
<h3>Starting</h3>
|
||||
<ul>
|
||||
Install & start fhem with the command:<pre>
|
||||
First install the Device::SerialPort (or Win32::SerialPort) perl module
|
||||
with the command <code>"cpan -i Device::Serial"</code></br>
|
||||
The default configuration will install fhem into /usr/local/bin,
|
||||
/usr/local/lib/FHEM and /var/log/fhem. Edit the Makefile to change
|
||||
this.
|
||||
|
||||
To install & start fhem type:<pre>
|
||||
make install-pgm2
|
||||
perl /usr/local/bin/fhem.pl /var/log/fhem/fhem.cfg</pre>
|
||||
|
||||
The logfile should look like:<pre>
|
||||
After starting, the logfile should look like:<pre>
|
||||
2008.06.15 16:17:03 2: FHEMWEB port 8083 opened
|
||||
2008.06.15 16:17:03 0: Server started (version ...)
|
||||
</pre>
|
||||
@ -44,57 +46,77 @@
|
||||
Attach the FHZ1000 or FHZ1300 to your computer, and look for a file named
|
||||
/dev/ttyUSB0 or /dev/tts/USB0 (or /var/elv on the Fritz!Box).
|
||||
Define it for fhem (by typing it in the
|
||||
"Fhem cmd" input widget):<pre>
|
||||
"Fhem cmd" input field in the browser):<pre>
|
||||
define FHZ1 FHZ /dev/ttyUSB0</pre>
|
||||
Look <a href="commandref.html#define">here</a> for more.
|
||||
You can find details <a href="commandref.html#define">here</a> and
|
||||
<a href="commandref.html#FHZ">here</a>. Instead of an FHZ you can also
|
||||
use a <a href="commandref.html#CUL">CUL</a> with slightly different
|
||||
parameters.
|
||||
|
||||
</ul>
|
||||
<br><br>
|
||||
<b>Note:</b> Don't forget to type "save" in the "Fhem cmd" input field of
|
||||
the browser after defining a device or setting its attribute. Otherwise
|
||||
the changes will disappear after the next start.</br><br> </ul>
|
||||
|
||||
|
||||
<a name="FS20rx"/>
|
||||
<h3>Configuring FS20 receivers</h3>
|
||||
<ul>
|
||||
Configure the device in fhem first e.g. with:<pre>
|
||||
Configure the <a href="commandref.html#FS20">FS20</a> device in
|
||||
fhem first with:<pre>
|
||||
define lamp1 FS20 1234 56</pre>
|
||||
|
||||
Now press the button on the device for a while until its LED starts to
|
||||
blink. Click on the "on" link in the fhem window to send a command. The
|
||||
LED should terminate blinking, the device is programmed.<br/>
|
||||
Set the model attribute of the device:<pre>
|
||||
LED should terminate blinking, the device is programmed to housecode
|
||||
1234, device code 56. You can also use the 4-base ELV notation.
|
||||
Now set the model attribute of the device:<pre>
|
||||
attr lamp1 model fs20st</pre>
|
||||
|
||||
to get only the commands available for this device.
|
||||
<a href="commandref.html#model">Here</a> is a complete list of models.<br>
|
||||
</ul>
|
||||
|
||||
<a name="FS20tx"/>
|
||||
<h3>Configuring FS20 transmitters</h3>
|
||||
<h3>Misc. RF transmitters (FS20/EM/S300 etc.)</h3>
|
||||
<ul>
|
||||
Make sure the global loglevel is at least 3 (attr global verbose 3, check
|
||||
the fhem.cfg file in the Edit files section).<br>
|
||||
Now make sure that the transmitter is sending a signal. In the logfile
|
||||
(FHEMWEB: "All together" -> Logs -> Logfile -> text) a line should
|
||||
appear:<pre> FS20 Unknown device HOUSECODE, Button BTN Code CDE, please
|
||||
define it</pre>
|
||||
Wait a while, until the transmitter sent some data. In the logfile
|
||||
(Browser window: "All together" -> Logs:Logfile:text) a line
|
||||
will appear:<pre>
|
||||
FS20 Unknown device <HOUSECODE, Button <BTN> Code <CDE>, please define it</pre>
|
||||
|
||||
Now define a device:<pre>
|
||||
define piri1 FS20 HOUSECODE BTN</pre>
|
||||
define piri1 FS20 <HOUSECODE> <BTN></pre>
|
||||
|
||||
Set the model attribute of the device:<pre>
|
||||
attr lamp1 model fs20piri</pre>
|
||||
|
||||
to get only the commands available for this device.
|
||||
<a href="commandref.html#model">Here</a> is a complete list of models.<br>
|
||||
<a href="commandref.html#model">Here</a> is a complete list of FS20
|
||||
models.<br> For other device-types similar messages should appear.
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<a name="FHT"/>
|
||||
<h3>Configuring FHT devices</h3>
|
||||
<ul>
|
||||
Make sure the global loglevel is at least 3 (attr global verbose 3, check
|
||||
the fhem.cfg file in the Edit files section).<br>
|
||||
Now wait for a while, till the FHT is sending some signals. In the
|
||||
logfile (FHEMWEB: "All together" -> Logs -> LogFile -> text) a line
|
||||
should appear:<pre> FHT Unknown device HOUSECODE, please define it</pre>
|
||||
Wait for a while (2-5 mins) till the FHT is sending some signals. In the
|
||||
logfile ("All together" -> Logs:LogFile:text) a line should
|
||||
appear:<br><pre>
|
||||
FHZ1: Unknown FHT device detected, define one to get detailed information</pre>
|
||||
|
||||
Now define a device:<pre>
|
||||
define livingroom FHT HOUSECODE</pre>
|
||||
If there is no signal for a while, the check <a href="faq.html#faq6">
|
||||
Define your FHT device with an arbitrary code in order to load the FHT
|
||||
module, see <a href="commandref.html#FHT">this</a> link for details:<pre>
|
||||
define MyFHT FHT 1111</pre>
|
||||
|
||||
The next message in the log will contain more details:<pre>
|
||||
FHT Unknown device <HOUSECODE>, please define it</pre>
|
||||
|
||||
Delete and create your device again:<pre>
|
||||
delete MyFHT
|
||||
define MyFHT FHT <HOUSECODE></pre>
|
||||
|
||||
If there is no signal for a while, then check <a href="faq.html#faq6">
|
||||
this</a> FAQ entry.
|
||||
</ul>
|
||||
|
||||
@ -103,11 +125,22 @@
|
||||
<ul>
|
||||
To execute commands at a given time / periodically, you have to define
|
||||
devices of the type at. See the definition <a href="commandref.html#at">
|
||||
here</a> or examples <a href="example.06_at">here</a>.<br/><br/>
|
||||
here</a> and the examples <a href="example.06_at">here</a> The last link
|
||||
only works if you are reading this HOWTO from your fhem Web.<br/><br/>
|
||||
|
||||
To execute commands if a device sent a message, then you have to define
|
||||
devices of the type notify. See the definition
|
||||
<a href="commandref.html#notify">here</a>.
|
||||
To execute commands if a device sent a message you have to define
|
||||
devices of the type <a href="commandref.html#notify">notify</a> or
|
||||
<a href="commandref.html#watchdog">watchdog</a>. In order to understand
|
||||
the fhem events better you can open a telnet session to your fhem<pre>
|
||||
telnet localhost 7072</pre>
|
||||
|
||||
and type <pre>
|
||||
inform timer</pre>
|
||||
|
||||
Now you will receive in this telnet session all events, just like the
|
||||
notifies/watchdogs do. You can even simulate events by using the
|
||||
<a href="commandref.html#trigger">trigger</a> command:<pre>
|
||||
trigger lamp1 on</pre>
|
||||
</ul>
|
||||
|
||||
<a name="rooms"/>
|
||||
@ -141,11 +174,12 @@
|
||||
FHEMWEB has builtin support for displaying FileLog type logs as plots,
|
||||
see the <a href="#plot">plot</a> section below.<br/><br/>
|
||||
|
||||
See the attributes
|
||||
<a href="commandref.html#archivedir">archivedir</a>,
|
||||
<a href="commandref.html#archivecmd">archivecmd</a>,
|
||||
<a href="commandref.html#nrarchive">nrarchive</a>
|
||||
attributes for archiving the logs.
|
||||
The size of each logfile will be determined by its wildcard characters
|
||||
(year/month/week/day), look at the <a href="commandref.html#FileLog">
|
||||
FileLog</a> definition.
|
||||
Don't forget to enable archiving with the <a
|
||||
href="commandref.html#nrarchive">nrarchive</a> or <a
|
||||
href="commandref.html#archivedir">archivecmd</a> attributes.
|
||||
</ul>
|
||||
|
||||
<a name="plot"/>
|
||||
@ -160,33 +194,22 @@
|
||||
When displaying the plot, you can convert it into a "weblink", which can
|
||||
in turn have a room attribute, to group more than one Plot together. If
|
||||
the weblink refers to the current logfile, then it will be stored as a
|
||||
CURRENT weblink, and it will always display the most recent log.
|
||||
CURRENT weblink, and it will always display the most recent log (you do
|
||||
not have to redefine it if the logfile changes due to year/month/date
|
||||
parameters in its name).
|
||||
|
||||
<br/><br/>
|
||||
|
||||
The logs can be converted to a plot either with gnuplot (which must be
|
||||
installed and in your PATH), or via the builtin SVG module, in this case
|
||||
your internet browser must support SVG. Firefox and opera support SVG
|
||||
out of the box, Internet Explorer does it via the Adobe "SVG viewer"
|
||||
plugin. To use SVG graphics, set the <a
|
||||
your internet browser must support SVG. Firefox, opera and the
|
||||
iPhone/Android borwser support SVG out of the box, Internet Explorer does
|
||||
it via the Adobe "SVG viewer" plugin. To use SVG graphics, set the <a
|
||||
href="commandref.html#plotmode">plotmode</a> attribute to SVG.<br><br>
|
||||
|
||||
In order to look at historic data, you can either convert at the archive
|
||||
entries to weblink in "plotmode=gnuplot" mode, or use the
|
||||
"plotmode=gnuplot-scroll" or "plotmode=SVG" modes. In the latter case
|
||||
you'll get the possibility to zoom or scroll in the plot. Note: the
|
||||
To zoom in the log you have to set plotmode to gnuplot-scroll or SVG. The
|
||||
gnuplot files must have #FileLog entries in order to be useable with
|
||||
scrolling, as the filtering happens with the FileLog
|
||||
<a href="commandref.html#FileLogget">get</a> function, see the supplied
|
||||
gnuplot files for an example.<br><br>
|
||||
|
||||
It make sense to build large logfiles for scrolling in them (year
|
||||
resolution), or smaller ones if you do not want to use the zoom/scroll
|
||||
feature. The size of the logfiles will be determined by its wildcard
|
||||
characters (year/month/week/day), look at the
|
||||
<a href="commandref.html#FileLog">FileLog</a> definition. Don't forget to
|
||||
enable archiving with the
|
||||
<a href="commandref.html#archivedir">archivedir</a> or
|
||||
<a href="commandref.html#archivedir">archivecmd</a> attributes.
|
||||
scrolling, see the supplied gnuplot files for an example.<br><br>
|
||||
|
||||
</ul>
|
||||
|
||||
@ -231,10 +254,9 @@
|
||||
To display "foreign" (non fhem) files as a plot or a just as plain text,
|
||||
configure a fake logfile with the correct filename and an unused regexp,
|
||||
e.g.<br><pre>
|
||||
define messages FileLog /var/log/messages fakelog
|
||||
</pre>
|
||||
<br/><br/>
|
||||
define messages FileLog /var/log/messages fakelog</pre>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="structure"/>
|
||||
<h3>Complex structures</h3>
|
||||
|
@ -3403,7 +3403,7 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
|
||||
<b>Attributes</b>
|
||||
<ul>
|
||||
<a name="webname="></a>
|
||||
<a name="webname"></a>
|
||||
<li>webname<br/>
|
||||
Path after the http://hostname:port/ specification. Defaults to fhem,
|
||||
i.e the default http address is http://localhost:8083/fhem
|
||||
|
@ -1,22 +0,0 @@
|
||||
On the telnet prompt do:
|
||||
{FS20_Parse(undef, "<code>");}
|
||||
e.g.
|
||||
{FS20_Parse(undef, "81xx04xx0101a0011234030011")}
|
||||
|
||||
where <code> is one of:
|
||||
|
||||
81xx04xx0101a0011234030011 FS20 dev: 1234 button: 03 on (11)
|
||||
81xx04xx0101a0011234030000 FS20 dev: 1234 button: 03 off (00)
|
||||
|
||||
810d04xx4027a001de53187654321f KS300: Raincounter hex:123 (ca 75l/m2),
|
||||
Wind 45.6 km/h Humidity: 78%, Temp: 13.5
|
||||
Unknown fields: d,e,f
|
||||
{FhzDecode("810d04xx4027a001de53187654321f")}
|
||||
|
||||
810e04d70213a001b16d000003000000 RM100-2 smoke on
|
||||
810e04d70213a001b16d000000000000 RM100-2 smoke off
|
||||
|
||||
81xx04xx0101a0011234030011 FS20 dev: 1234 button: 03 on (11)
|
||||
|
||||
To send it:
|
||||
set FHZ raw 04 0101a0011234030011
|
@ -1,28 +0,0 @@
|
||||
|
||||
810e041f0213a001d396000000000000
|
||||
|
||||
// Reset:
|
||||
810e04ea0293a001ae06000000000000
|
||||
// Normal:
|
||||
810e046a0213a001ae06000000000000
|
||||
|
||||
==========
|
||||
810e04ba0293a001b1d3000000000000
|
||||
810e04a90293a0016a09000000000000
|
||||
|
||||
By andikt:
|
||||
// Batteries are inserted into the smoke detector
|
||||
810e04540293a001b16d000000000000
|
||||
[the same comes 10 times]
|
||||
|
||||
// No smoke applied, status messages each 30min
|
||||
810e04d40213a001b16d000000000000
|
||||
|
||||
// Smoke applied, detector beeps loud
|
||||
810e04d70213a001b16d000003000000
|
||||
|
||||
// no more smoke, detector stops beeping, red LED flashes for some more
|
||||
// seconds
|
||||
810e04d40213a001b16d000000000000
|
||||
|
||||
|
@ -1,74 +0,0 @@
|
||||
Startup
|
||||
-------
|
||||
1a
|
||||
PUT C9 - 02 01 1F 64
|
||||
1.st fhz1000: C9 - 01 02 1F 02 78 05 5C 24 FF
|
||||
2.nd fhz1000: C9 - 01 02 1F 02 78 05 5C 24 FF
|
||||
3.rd fhz1000: C9 - 01 02 1F 02 78 05 5C 0A FF
|
||||
1b
|
||||
PUT C9 - 02 01 1F 0A
|
||||
4.th fhz1000: C9 - 01 02 1F 02 78 07 B6 22 80
|
||||
1c
|
||||
PUT C9 - 02 01 1F 60
|
||||
C9 - 01 02 1F 02 78 07 1C 22 80
|
||||
|
||||
2
|
||||
PUT 04 - C9 01 84 57 02 08
|
||||
1.st fhz1000: C9 - 01 02 84 01 08 05 FF 13 6E 21 BC 4B 1B # Serial no: 136E21BC (?)
|
||||
3.rd fhz1000: C9 - 01 02 84 01 08 05 FF 13 6E 29 0E 51 18 # Serial no: 136E290E (?)
|
||||
|
||||
3
|
||||
PUT: 04 - C9 01 86
|
||||
PUT: 04 - C9 01 96
|
||||
PUT: C9 - 02 01 61 04 0C 10 12 0A # Set Date to 2004-12-16 14:10
|
||||
|
||||
|
||||
Switching FS20 device on / off
|
||||
------------------------------
|
||||
|
||||
PUT: 04 - 020101 - HHHH BT VL
|
||||
|
||||
HHHH: Transmitter (Hauscode)
|
||||
BT: Button
|
||||
VL: Values:
|
||||
00 => off,
|
||||
01 => dim06%,
|
||||
02 => dim12%,
|
||||
03 => dim18%,
|
||||
04 => dim25%,
|
||||
05 => dim31%,
|
||||
06 => dim37%,
|
||||
07 => dim43%,
|
||||
08 => dim50%,
|
||||
09 => dim56%,
|
||||
0A => dim62%,
|
||||
0B => dim68%,
|
||||
0C => dim75%,
|
||||
0D => dim81%,
|
||||
0E => dim87%,
|
||||
0F => dim93%,
|
||||
10 => dim100%,
|
||||
11 => on, # Set to previous dim value (before switching it off)
|
||||
12 => toggle, # between off and previous dim val
|
||||
13 => dimup,
|
||||
14 => dimdown,
|
||||
15 => dimupdown,
|
||||
16 => timer,
|
||||
17 => sendstate,
|
||||
18 => off-for-timer,
|
||||
19 => on-for-timer,
|
||||
1a => on-old-for-timer,
|
||||
1b => reset,
|
||||
|
||||
The FSST20 switches on for dim*.
|
||||
|
||||
When setting bit 6 (counted from 1) in the value, you can also
|
||||
send a further byte, the time as suggested in snippet_6.
|
||||
|
||||
The FS20ST only respects this for the values
|
||||
timer, off-for-timer, on-for-timer
|
||||
If the timer is set, then it works for dim*, on, *-for-timer
|
||||
|
||||
sendstate does not work for the FS20ST
|
||||
|
||||
=================================
|
@ -1,102 +0,0 @@
|
||||
// Init FHZ1000PC (Studio) mit FHT80b und HMS
|
||||
<- 81 06 c9 2c 02 01 1f 0a
|
||||
-> 81 0b c9 fb 01 02 1f 02 78 07 b6 22 80
|
||||
<- 81 08 04 ba c9 01 84 5e 0b 03
|
||||
-> 81 0a c9 ea 01 02 84 01 03 01 5b 03
|
||||
<- 81 05 04 50 c9 01 86
|
||||
<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 1
|
||||
<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 2
|
||||
<- 81 06 04 62 c9 01 96 02
|
||||
<- 81 0a c9 af 02 01 61 05 0a 0e 16 18 // Datum Uhrzeit
|
||||
|
||||
// Init FHZ1000PC (Standard) mit FHT80b und HMS
|
||||
<- 81 06 c9 82 02 01 1f 60
|
||||
-> 81 0b c9 61 01 02 1f 02 78 07 1c 22 80
|
||||
<- 81 08 04 af c9 01 84 57 02 08
|
||||
-> 81 0f c9 __ 01 02 84 01 08 07 80 xx xx xx xx 51 0f // Seriennummer
|
||||
<- 81 05 04 50 c9 01 86
|
||||
<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 1
|
||||
<- 81 05 04 60 c9 01 96
|
||||
<- 81 0a c9 __ 02 01 61 jj mm tt ss mm // Datum Uhrzeit
|
||||
<- 81 05 04 4f c9 01 85 // Speicherabfrage
|
||||
-> 81 07 c9 ac 01 02 85 01 23 // 23 ?bytes? frei
|
||||
<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 2
|
||||
<- 81 05 04 4f c9 01 85 // Speicherabfrage
|
||||
-> 81 07 c9 a5 01 02 85 01 1c // 1c ?bytes? frei
|
||||
|
||||
// FHZ1000PC
|
||||
<- 81 0a c9 __ 02 01 61 jj mm tt ss mm // Uhrzeit 50 mal am Anfang einer Minute
|
||||
|
||||
<- 81 05 04 4f c9 01 85 // Speicherabfrage
|
||||
-> 81 07 c9 __ 01 02 85 01 xx // xx = ?bytes? frei
|
||||
|
||||
// FHT80b
|
||||
// SB=StartByte LL=Laenge TT=TelegrammType BC=BlockCheck ST=Status
|
||||
// HH=Hauscode
|
||||
// SB LL TT BC CODE FUNKT ST Param
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 _6 xx // Istwert Stellantrieb
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 2c xx // Synczeit
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 14 00 69 xx // Montag von1 in 1/6 Stunde (10 Min.)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 15 00 69 xx // Montag bis1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 16 00 69 xx // Montag von2 (90 = frei)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 17 00 69 xx // Montag bis2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 18 00 69 xx // Dienstag von1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 19 00 69 xx // bis 1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1a 00 69 xx // von2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1b 00 69 xx // bis2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1c 00 69 xx //Mittwoch von1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1d 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1e 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1f 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 20 00 69 xx // Donnerstag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 21 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 22 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 23 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 24 00 69 xx // Freitag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 25 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 26 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 27 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 28 00 69 xx // Samstag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 29 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2a 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2b 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2c 00 69 xx // Sonntag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2d 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2e 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2f 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 3e 00 69 xx // 0=auto 1=manuell 2=Urlaub
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 3f 00 69 xx // Urlaub Endeuhrzeit oder Endetag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 40 00 69 xx // Urlaub Endetag 10=heute 11=morgen 0x=Endemonat
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 41 00 69 xx // aktuelle Solltemperatur (x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 42 00 69 xx // ist Temperatur (x/10)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 43 00 69 xx // ?????
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 44 00 69 xx // bit0=Batterie 0=OK 1=leer bit5=Fenster 0=zu 1=offen
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 4b 00 67 xx // ?????
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 82 00 69 xx // Tag Temperatur (x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 84 00 69 xx // Nacht Temperatur (x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 85 00 69 04 // ?????
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 8a 00 69 xx // Fenster offen Temperatur (x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 7e 00 67 xx // ?????
|
||||
|
||||
<- 81 09 04 __ 02 01 83 HH HH 3e xx // Modus setzen 00=auto 01=manu 02=Urlaub
|
||||
-> 81 0b 04 __ 84 09 83 01 HH HH 3e xx yy // Übernahmequittung yy=Speicherstelle
|
||||
<- 81 09 04 __ 02 01 83 HH HH 41 xx // Solltemp setzen (x=soll/0.5)
|
||||
Die anderen Register können genauso verändert werden.
|
||||
|
||||
//HMS100TF
|
||||
-> 81 0e 04 __ 05 10 a0 01 HH HH 00 00 ss tt gu ff // Temp = (utt*0.04) Feuchte = (ffg*100/4096)
|
||||
|
||||
// Status bit7=Negative Temp. bit6=Batterie
|
||||
|
||||
//ST-2
|
||||
<- 81 09 04 __ 02 01 01 a0 01 HH HH xx yy // xx=Taste yy=Funktion
|
||||
//Funktionen
|
||||
00 Aus
|
||||
01-10 Dimmen direkt
|
||||
11 Ein
|
||||
12 Dimmen Eintastenmodus
|
||||
13 Dimmen runter
|
||||
14 Dimmen rauf
|
||||
15 Umschalten
|
||||
16 Timerprogrammierung start/stop
|
||||
1b Auslieferungszustand
|
@ -1,60 +0,0 @@
|
||||
// FHT80b
|
||||
// SB=StartByte LL=Laenge TT=TelegrammType CC=CRC ST=Status HH=Hauscode
|
||||
|
||||
// SB LL TT CC CODE FUNKT ST Param
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 _6 xx // Istwert Stellantrieb
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 2c xx // Synczeit ???
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 14 00 69 xx // Montag von1 in 1/6
|
||||
Stunde (10 Min.)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 15 00 69 xx // Montag bis1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 16 00 69 xx // Montag von2 (90 = frei)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 17 00 69 xx // Montag bis2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 18 00 69 xx // Dienstag von1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 19 00 69 xx // bis 1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1a 00 69 xx // von2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1b 00 69 xx // bis2
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1c 00 69 xx // Mittwoch von1
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1d 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1e 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 1f 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 20 00 69 xx // Donnerstag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 21 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 22 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 23 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 24 00 69 xx // Freitag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 25 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 26 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 27 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 28 00 69 xx // Samstag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 29 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2a 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2b 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2c 00 69 xx // Sonntag
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2d 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2e 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 2f 00 69 xx
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 3e 00 69 xx // 0=auto 1=manuell
|
||||
2=Urlaub lang, 3=Urlaub kurz
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 3f 00 69 xx // für Mode3 Uhrzeit, für
|
||||
Mode2 Endtag des Monats
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 40 00 69 xx // für Mode3 Resttage ab
|
||||
aktuellem Datum, für Mode2 Endmonat
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 41 00 69 xx // aktuelle Solltemperatur
|
||||
(x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 42 00 69 xx // ist Temperatur (Teil 1)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 43 00 69 xx // Ist-Temperatur (Teil 2)
|
||||
(Die Ermittlung der Temperatur erfolgt nach der Formel Ist-Temp = (Teil2
|
||||
* 255 +Teil1) / 10)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 44 00 69 xx // Status (Bit0=LowBatt,
|
||||
Bit1=Untertemperatur, Bit4=Störung Fenterkontakt, Bit5=Fenster auf)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 45 00 69 xx // Manuelle Temperatur ??
|
||||
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 4b 00 67 xx // ?????
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 7e 00 67 xx // ?????
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 82 00 69 xx // Komfort-Temperatur
|
||||
(x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 84 00 69 xx // Absenk-Temperatur
|
||||
(x*0.5)
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 85 00 69 04 // Alarm-Temp.-Differenz
|
||||
-> 81 0c 04 __ 09 09 a0 01 HH HH 8a 00 69 xx // Fenster offen Temperatur
|
||||
(x*0.5)
|
@ -1,39 +0,0 @@
|
||||
fs20:
|
||||
Modulation: 100% Amplitude, also pulse und spaces
|
||||
|
||||
Keine festen Bitraster, ein Bit besteht immer aus pulse UND space
|
||||
|
||||
Bit 0: pulse+space insgesamt ca 800us,
|
||||
Bit 1: ca. 1200us
|
||||
|
||||
Beginn einer Uebertragung: ca 20 Startbits 0, zum Start eine 1
|
||||
|
||||
dann Uebertragung der Datenbytes jeweils 8 Bit + Pruefbit:
|
||||
msb
|
||||
...
|
||||
lsb
|
||||
pruefbit = xor-Verknuepfung der Datenbits.
|
||||
|
||||
Die Uebertragung hat folgenden Aufbau:
|
||||
1. hausadr1
|
||||
2. hausadr0
|
||||
3. adr
|
||||
4. cmd
|
||||
5. arg1
|
||||
...
|
||||
n-1. argn optional
|
||||
n. pruefbyte
|
||||
|
||||
pruefbyte = unterste 8 Bit aus summe aller bytes 1..n-1 +6
|
||||
|
||||
Hauscode=hausadr1*256 + hausadr
|
||||
|
||||
Dass ein hauscode 11111111 tatsaechlich fuer 0 steht, ist wohl klar.
|
||||
|
||||
cmd 0..31: Keine Argumente
|
||||
cmd 32..63: Ein Argumentbyte
|
||||
Jede Uebertragung wird 3* ausgesendet.
|
||||
|
||||
|
||||
Grueße,
|
||||
automat
|
@ -1,60 +0,0 @@
|
||||
Fs20-Codes
|
||||
0 Aus
|
||||
1..15 setze auf Helligkeit
|
||||
16 An auf max
|
||||
17 An alter wert
|
||||
18 Toggel
|
||||
19 Dim UP
|
||||
20 Dim Down
|
||||
21 DIM up/down
|
||||
22 Prog.Modus/Zeit-Messung
|
||||
23 Adressmeldung / Nix
|
||||
24 Sofort Aus - Timer, sofort wieder an, evtl slow off
|
||||
25 Sofort Max - timer, sofort aus
|
||||
26 Sofort An alter Wert - timer, sofort aus
|
||||
27 ?? AUS - RESET?
|
||||
28 ?
|
||||
29 ?
|
||||
30 sofort Max, timer, dann sofort alter wert
|
||||
31 sofort An alter Wert, nach Timer - sofort Aus
|
||||
|
||||
32-47 S auf Helligkeit mit Speed S
|
||||
48 S An auf max,
|
||||
49 S An alter wert
|
||||
50 T Toggel fuer T, dann alter Wert
|
||||
51 T Dim up, T ?
|
||||
52 T Dim down, T ?
|
||||
53 T Dim up/down, T ?
|
||||
54 T Programmiere Einschaltzeit
|
||||
55 ?
|
||||
56 T Aus fuer EinT
|
||||
57 T Ein Max fuer T, dann alter Wert
|
||||
58 T Ein alter Wert fuer T, dann AUS
|
||||
59 ??? RESET
|
||||
60 T Progr. Einschalt-Speed mit T
|
||||
61 T Progr. Ausschalt-Speed mit T
|
||||
62 T Ein Max fuer T, dann alter Wert
|
||||
63 T Alter Wert fuer T, dann wieder aktueller Wert
|
||||
|
||||
S und T Argumente 2. Byte. Zeit T=0: endlos
|
||||
|
||||
Übrigens ein paar Anfänge zum HMS-Protokoll:
|
||||
adr1 adr2 typ arg1 arg2/seqnr arg3
|
||||
|
||||
typ:
|
||||
0 temp/feucht hms100tf
|
||||
1 temp hms100t
|
||||
2 Wasser hms100w/wd
|
||||
3 Rauch hms100rm
|
||||
4 TuerFenster hms100tfk
|
||||
5 TuerFenster hms100tfk
|
||||
6 Gas hms100 MG/PG/CO
|
||||
7 Gas hms100 MG/PG/CO
|
||||
8 Gas hms100 MG/PG/CO
|
||||
9-13 unbekannt
|
||||
14 hms100 FI
|
||||
15 ?
|
||||
+16 ??
|
||||
+32 Batteriewarnung
|
||||
+64 neue Batterie
|
||||
+128 Vorzeichen
|
@ -1,127 +0,0 @@
|
||||
S20-Funkschaltsystem
|
||||
|
||||
1. Protokoll
|
||||
|
||||
1.1. Datenrahmen:
|
||||
|
||||
Hauscode 16 bit
|
||||
Adresse 8 bit
|
||||
Befehl 8 bit (16bit, wenn im ersten Befehlsbyte das Erweiterungsbit gesetzt
|
||||
ist.)
|
||||
Quersumme 8 bit
|
||||
|
||||
1.1.1. Hauscode:
|
||||
0-65535
|
||||
Hauscode1: 8bit (High-Byte)
|
||||
Hauscode2: 8bit (Low-Byte)
|
||||
|
||||
1.1.2. Adresse:
|
||||
High-Nibble (4bit): Adreß-Gruppe (Bank / Raum)
|
||||
15 = Master- / Funktionsgruppen-Bereich
|
||||
0-14 = Adreßraum für Einzeladressen
|
||||
Low-Nibble (4bit): Unter-Adresse
|
||||
15 = alle der Adreß-Gruppe (lokal Master)
|
||||
0-14 = Einzel-Adresse / Adresse der Funktionsgruppe
|
||||
|
||||
Das High-Nibble wählt die Adreß-Gruppe aus. Es stehen 15 Adreß-Gruppen zur
|
||||
Verfügung. Die Adreß-Gruppe 15 wählt den Master- bzw.
|
||||
Funktionsgruppen-Adreßbereich aus. Das Low-Nibble bestimmt innerhalb der
|
||||
gewählten Adreß-Gruppe die anzusprechende Unter-Adresse. Zum Ausführen einer
|
||||
globalen Master-Funktion müssen High- und Low-Nibble der Adresse 15 sein!
|
||||
|
||||
|
||||
Reihenfolge der Eingabe und Speicherung von Hauscode und Adresse beim Setup
|
||||
von Sendern:
|
||||
1. HC1: [A1|A0|B1|B0|C1|C0|D1|D0]
|
||||
2. HC2: [E1|E0|F1|F0|G1|G0|H1|H0]
|
||||
3. Adr: [I1|I0|J1|J0|K1|K0|L1|L0]
|
||||
|
||||
1.1.3. Befehl:
|
||||
Unteren 5 bit:
|
||||
0 00h aus
|
||||
1 01h an, 6,25% Einschalten auf Helligkeitsstufe 1 (min.)
|
||||
2 02h an, 12,5%
|
||||
...
|
||||
15 0fh an, 93,75%
|
||||
16 10h an, 100% Einschalten auf Helligkeitsstufe 16 (max.)
|
||||
|
||||
17 11h an, alter Wert Auf letztem Helligkeitswert einschalten
|
||||
18 12h toggle Wechsel zwischen aus und an, alter Wert
|
||||
19 13h dim up Eine Helligkeitsstufe heller
|
||||
20 14h dim down Eine Helligkeitsstufe dunkler
|
||||
21 15h dim up and down ..., + bis max, kurz warten, - bis min, kurz warten,
|
||||
22 16h timeset Timerprogrammierung (Start, Ende)
|
||||
23 17h send status Nur bei bidirektionalen Komponenten!
|
||||
24 18h aus, für Timerzeit
|
||||
25 19h an, 100%, für Timerzeit
|
||||
26 1ah an, alter Wert, für Timerzeit
|
||||
27 1bh reset (auf Auslieferzustand)
|
||||
28 1ch frei
|
||||
29 1dh frei
|
||||
30 1eh frei
|
||||
31 1fh frei
|
||||
|
||||
Bit 5: Erweiterungsbit (0 = ohne, 1 = Erweiterungsbyte zwischen Befehl und
|
||||
Quersumme)
|
||||
Bit 6: bidirektionaler Befehl (normal = 0)
|
||||
Bit 7: Antwort eines Empfängers (normal = 0)
|
||||
|
||||
Erweiterungsbyte bei gesetztem Erweiterungsbit:
|
||||
Ist im ersten Befehlsbyte das Erweiterungsbit gesetzt, wird ein
|
||||
Erweiterungsbyte eingeschoben.
|
||||
|
||||
Für die Befehle 0 bis 18 und 24 bis 26 gilt folgende Codierung des
|
||||
Erweiterungsbytes:
|
||||
Das Byte gibt die einmalige Zeitdauer für den Timer in Schritten von 0,25s an.
|
||||
|
||||
Bei Befehl 22 wird der Timer des Empfängers fest auf den übertragenen
|
||||
Timerwert gestellt.
|
||||
Das Low-Nibble gibt den Zahlenwert an. Ist es Null (= 0), wird die
|
||||
Timerfunktion ignoriert und der Verbraucher dauerhaft/sofort geschaltet.
|
||||
|
||||
Das High-Nibble dient als Multiplikator mit dem Faktor 2^x. Es sind nur Werte
|
||||
kleiner oder gleich 12 sinnvoll. Größere Werte werden auf 12 begrenzt!
|
||||
|
||||
Zeit = 2^(High-Nibble) * Low-Nibble * 0,25s
|
||||
Die maximale Zeitdauer beträgt damit ca. 4,25Std, die minimale 0,25s, sofern
|
||||
dies jeweils von den Empfängern bis zu den angegebenen Grenzen unterstützt
|
||||
wird.
|
||||
|
||||
1.1.4. Quersumme
|
||||
|
||||
8bit-Summe aus 6, Hauscode, Adresse und Befehl (und Erweiterungsbyte) bilden
|
||||
Werden Repeater verwendet, so treten auch um 1 oder 2 erhöhte Quersummen auf,
|
||||
die von den Empfängern im Normalfall akzeptiert werden sollten. Wurde von
|
||||
einem Empfänger bis 1,6s vor einem Repeater-Befehl ein normaler Befehl
|
||||
empfangen, so wird der Repeater-Befehl ignoriert.
|
||||
|
||||
|
||||
1.1.5. Komplette Übertragung:
|
||||
Synchr, HC1, Parity, HC2, Parity, Adresse, Parity, Befehl, Parity, Quersumme, Parity, EOT
|
||||
13 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 1 bit
|
||||
|
||||
oder:
|
||||
Synchr, HC1, Parity, HC2, Parity, Adr, Parity, Bef1, Parity, Bef2, Par, Quersumme, Par, EOT
|
||||
13 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 8 bit 1 bit 1 bit
|
||||
|
||||
Übertragung beginnt mit MSB.
|
||||
|
||||
Die Übertragung für ein komplettes Datenpaket mit 1 Befehl dauert 47,6ms bis
|
||||
65,6ms.
|
||||
|
||||
Wird an der Hand-FB eine Taste < 400ms gedrückt, so wird beim Loslassen
|
||||
folgendes gesendet: DAT, 10msPAUSE, DAT, 10msPAUSE, DAT, 110msPAUSE
|
||||
|
||||
Wird eine Taste an der Hand-FB länger als 400ms gedrückt, so wird alle 250ms
|
||||
folgendes gesendet: DAT, 10msPAUSE, DAT
|
||||
|
||||
|
||||
Im AUS-Zustand schaltet ein Dimmer bei EIN mit alter Helligkeit ein.
|
||||
Im AUS-Zustand schaltet ein Dimmer bei DIMUP mit voller Helligkeit ein.
|
||||
Im EIN-Zustand wird bei DIMUP eine Stufe aufgedimmt.
|
||||
|
||||
Alle Befehle dürfen von Empfängern immer nur 1x ausgewertet werden. Gesendet
|
||||
wird der Befehl 3x mit einer Pause von 10ms. Dim-Befehle werden nur 2x mit
|
||||
einer Pause von ca. 10ms und 130ms gesendet. Nach einem erkannten Befehl
|
||||
ignorieren die Empfänger für 120ms weitere Befehle. Befehle von Repeatern
|
||||
werden für 1,6s ignoriert.
|
@ -1,14 +0,0 @@
|
||||
Get 81 0c c9 78 0102 1f04a0ffb6ffffff
|
||||
Get 81 0c c9 da 0102 1f04a0ffb661ffff
|
||||
Set 81 05 04 61 c90197
|
||||
Set 81 05 04 63 c90199
|
||||
Get 81 0d 04 ac 4027a0017100215000b30f KS300 msg
|
||||
Set 81 05 04 50 c90186 initHMS
|
||||
Set 81 06 04 62 c9019602 InitFS20 (+02?)
|
||||
Set 81 06 c9 2c 02011f0a Init3 string
|
||||
Set 81 09 04 46 020101xxxx0000 Set FS20 device off
|
||||
Set 81 09 04 4e c901839e010161 Set fhtcode 97 (0x61)
|
||||
Set 81 09 04 57 020101xxxx0011 Set FS20 device on
|
||||
Set 81 0a c9 93 02016106050f1500 Time: 2006-05-15 21:00
|
||||
Set 81 0a c9 a4 02016106050f1511 Time: 2006-05-15 21:17
|
||||
Set 81 0b 04 8f 020183xxxx65ff66ff Request FHT refreshvalues
|
@ -2,7 +2,7 @@
|
||||
# fhem.pl configfile
|
||||
#
|
||||
# Define a lamp (which is plugged in via an FS20ST).
|
||||
# To program the FS20ST, start the server, plug the FS20ST in pressing its
|
||||
# To program the FS20ST, start the server, plug the FS20ST while pressing its
|
||||
# button (it starts blinking), and then execute fhem.pl 7072 "set lamp on"
|
||||
#
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# fhem.pl configfile
|
||||
#
|
||||
# The challange: We have 2 rollades (which are connected via the FS20MS).
|
||||
# The challenge: We have 2 rollades (which are connected via the FS20MS).
|
||||
# Button 3 on the FS20S20 should activate both rollades. There are three
|
||||
# solutions:
|
||||
# 1. Builtin commands
|
||||
|
@ -24,14 +24,15 @@ define wz FHT 3232 # type FHT, transmitter code 3232 (default value)
|
||||
define fhz_timer at *03:30:00 set FHZ time
|
||||
|
||||
#########################
|
||||
# If you wish to have up-to date information on certain strange parameters
|
||||
# then comment out the line below. My devices send a message when a value
|
||||
# changes, and send measured-temp, actuator and state messages regularly.
|
||||
# Be patient: the reply comes in 5-10 minutes.
|
||||
define wz_refresh at *04:00:00 set wz report1 255 report2 255
|
||||
# If you wish to have up-to date information on certain parameters which can be
|
||||
# modified on the FHT80b itself, then enable the line below. My device sends a
|
||||
# message when a value changes, and sends measured-temp, actuator and state
|
||||
# messages regularly, so I do not use this command.
|
||||
# Be patient: the reply comes after 5-10 minutes.
|
||||
#define wz_refresh at *04:00:00 set wz report1 255 report2 255
|
||||
|
||||
# alias for the above
|
||||
define wz_refresh at *04:00:00 set wz refreshvalues
|
||||
#define wz_refresh at *04:00:00 set wz refreshvalues
|
||||
|
||||
|
||||
###################
|
||||
|
@ -21,8 +21,6 @@ define ks1 KS300 1234 250 # type KS300, with 250ml rain / counter
|
||||
define wzlog FileLog /var/log/fhem/wz-%Y-%U.log wz:.*(temp|actuator).*
|
||||
|
||||
# Make it accessible from 01_FHEMWEB.pm (webpgm2)
|
||||
# Note: for FHEMWEB large logfiles (one per year) are recommended to be able to
|
||||
# navigate
|
||||
attr wzlog logtype fht:Temp
|
||||
|
||||
# ks300 log
|
||||
@ -36,8 +34,10 @@ attr kslog logtype ks300_1:Temp/Hum,ks300_2:Rain/Wind
|
||||
# paranthesis, and your shell will probably bark.
|
||||
define tmplog notifyon wz:temp.* "/usr/local/bin/log.sh @ "@ %""
|
||||
|
||||
quit
|
||||
|
||||
#########################
|
||||
And here is /usr/local/bin/log.sh, don't forget chmod +x
|
||||
#And here is /usr/local/bin/log.sh, don't forget chmod +x
|
||||
|
||||
#!/bin/sh
|
||||
fname=$1
|
||||
|
Loading…
Reference in New Issue
Block a user