Not posted in the past, new version using ESPHOME and a m5stickc
ESP32 dac’s drawing on oscilloscope ( no additional components)
For above i used sin/cos functions 2:3, which creates LissajousĀ figures. See: https://www.henriaanstoot.nl/1992/01/01/oscilloscope-graphics-using-a-amiga-bonus-vectrex/
3 battery operated buttons (no wires needed) to control my shelly dimmer at the dinner table.
I made my own Mqtt to speech thingy in the past. Sending a text to a mqtt topic would be picked up by my domoticz raspberry and using a bash script the topic payload was converted to speech and being played on a connected speaker.
Under hardware in domoticz install the mqtt broker. Configure your mqtt server (mine is mosquitto) Add devices to floorplans to send these to Mosquitto
Now i can see the topics in MQTTExplorer
Install the home assistant websocket palette in NodeRed
Configure the nodes like above
These are some example flows (I’ll put the function code below)
Above are the NAMED entities in Home Assistant
CODE
//Code for NR temperature filtering on domoticz IDX
//A door censor uses nvalue instead of svalue1
//Humidity can be svalue2
//Check the Mqtt payload in MQTTExplorer which to use!
var varidx = msg.payload.idx;
var varnvalue = msg.payload.svalue1;
if(varidx == 3108)
{
msg.payload = {};
msg.payload = varnvalue;
return msg;
}
Example of the trigger node. When a temperature sensor battery dies, and no new data arrives- in 1 hour, I get a pushover warning. (use pushbullet/email/TV notification whatever you want)
I’m using domoticz as a 433->mqtt bridge, and some virtual devices i can toggle with curl (bash scripts)
I needed to make a custom 433 door sensor in Home Assistant with toggles to OFF after a few seconds. (There is NO off signal in this cheap sensor i’m using)
I’m changing the payload complete, to have a payload which matches the device class for door: (state with on/off) It was nvalue = 0/1
(Whenever the IDX changes, I only have to update this Nodered part) HA won’t notice the change.
var nvalue = msg.payload.nvalue;
msg.payload = {};
if(nvalue == 1)
{
msg.payload.state = "ON";
return msg;
}
AND after 5 seconds
msg.payload = {};
msg.payload.state = "OFF";
return msg;
The date of this post is when we worked on GMC’s GPC, but i’ll post some other own made hardware related to domotica.
Relais card + one wire temperature sensor (rs232)1Wire to RS232DS18B20
GPC Original Page: https://gpc.metro.cx/gpc/README
This DIY home automation was written by GMC in C. Later we made little microcontroller prints, which could control/switch lights and more.
PIC16x84
We uses GPASM as assembler
Bigred soldering PIC boards like control units and pic-programmers Below a Infrared receiver (Using Lirc)SchematicPower partPIC Print
One of my schematics
What is this?
=============
This is the Global Premises Control package. It is intended to be a
complete solution to the DIY home automation. It provides you with a
daemon which will centralize all control functions, and some custom
programs for sound, remote control and things like that.
The first steps to realizing the goal was made by Koen Martens. He wrote
the first daemon and made the first support programs. Other people got
interested and ported the GPC package to their homes. Since then it seemed
wise to coordinate development to prevent from having three different
versions of the package. It is currently under development and is far from
complete.
History
=======
15-03-98 - The first initiative
With the help of Henri Aanstoot and Marco Geels the first
cables were mounted in the ceiling at Waalstraat 136. This
involved re-dedicating some high voltage lines for the low
voltage used by GPC equipment.
The next few days Koen Martens spend his time writing software
to switch on the lights (which was not possible without
software anymore :). This software was very rudimentry and
did not feauture the daemon yet.
28-03-98 Version 1.0 was born.
The need for a global way to control the premises arose, and
Koen Martens decided to write a daemon which would control the
input and output lines, with support programs for the logic.
This resulted in global, the gpc daemon.
Running on different servers there were programs to control
lights and lightswitches (light_control), sound (sound) and
the alarm clock (wakeup).
10-06-98 Version 2.0 (r0.2.0) was born.
The support programs containing any logic had vanished,
instead the daemon had all the logic encoded in it.
03-07-98 Version 2.0 still.
- Added remote control receiver code.
29-11-98 GPC r0.3.0
- Started coordinated development
11-12-98 GPC r0.3.1
- Security support included, providing a (basic) interface
for protecting variables with passwords on a security level
clearance basis.
- Global notify protocol added, clients can now register one
or more variables. This makes the old (0.3.0) polling method
obsolete thus reducing the network load dramatically.
- Logging library added.
Development
===========
The development is done on the following beta sites:
- Subnet
Location : Waalstraat 136, Enschede, Netherlands
Site coordinator: Koen Martens AKA gmc (gmc@freemail.nl)
Site description: Single floor appartment
3 occupants (1 human, 2 rats)
P60 32MB RAM running linux
486 8MB RAM running FreeBSD
486 8MB RAM running linux
DEC Writer
WYSE terminal
The 486 linux machine has the daemon, and is
hooked up to the premises.
The P60 has a sound card and a RC receiver.
- Lip-on-ice
Location : Lipperkerkstraat 321, Enschede, Netherlands
Site coordinator: Willem-Jan Faber AKA aloha AKA xtz ( And Henri Aanstoot AKA Fash)
(w-jfaber@freemail.nl)
Site description: Three floor house
Four occupants (3 male, 1 female)
Connected to three other premises.
Computer list not yet in!
- Venom
Location : P. Mondriaanstraat ??, Almelo, Netherlands
Site coordinator: Sebastiaan Smit AKA venom (wssmit@freemail.nl)
Site description: Three floor house
Three occupants
4 computers
If you would like to join the development, mail me at gmc@freemail.nl.
In progress
===========
The following projects are in progress right now:
- A script language to describe the control logic for the daemon
Koen Martens
- An cgi interface for the http connectivity
- Support for sharing variables on multiple daemons
Usage
=====
Use is for your own risk. We can not be held responsible for any damage
resulted from running any of this software.
Keeping that in mind, usage is very simple but work needs to be done on
the documentation :)
DIY door sensor using a bend CDROM and a sensor i got
I’d would send a signal to our computers and playing a sound sample on our sound system. Also a IRCbot named (lampje) would mention “Backdoor open” in our own channel. (We where running our own IRC servers, interconnected .. because we can. A average of 3 Clients per server sound the way to go .. LOL ) Lampje the IRCbot also controlled the livingroom light and more.
"If something is worth doing, it's worth overdoing."