I don’t have sitemap available to check it right now, but if I remember correctly, you should be able to add item=Livingroom_Temperature
to the frame itself. It might be that it is not officially supported and thus not available on all UIs, but I am pretty sure I have a item value on a custom frame with some subitems, like you have.
Will have a play in the next hour. Thanks
No this is the phone app. It is the same as the sitemap for basicUI and classicUI
https://www.openhab.org/docs/tutorial/sitemap.html
https://www.openhab.org/docs/configuration/sitemaps.html
Don’t rush into things. Take one little project at a time. Read the docs. Understand how it works before moving on to the next one. Make back ups try things. It’s only software, you can’t really break things. If the software (rules/sitemaps…) doesn’t work, read the docs again. And again. Look in the forum. Your problem has probably been answered before.
Make time. Plan it. If you are serious about a hobby, work or any other thing you will find time.
Hmm, thats a tough one…
My problem is, I´m serious about most stuff, which leads to lack of time… Since I cant change time, I guess I have to change my seriousness about most stuff
Hi vince dident get you … i was replying to VradattaEric Zenz-Matzl
and hi did some SVG habpaneel
and you give me docs of site map what did i miss?
Sorry I though you were replying to @adtwomey couple of posts above
What you are looking for is:
thanks man !
you had me thinking i missed an entire part of the OH docs hhhh
yes this is what i was looking for ,cheers!
Nice add on thanks guys. had to change from using groups in sitemaps but it worked at the end thank you for your help.
Love the MK-SmartHouse title
this is how i also started! thanks Matt
Still have not changed it. Right now I trying HA out.
I automated a lot where pictures make no sense
First, and the complexest one: in our house we have 8 Meltem ventilations with heat exchanger. I controll all of these with KNX. Automation is with the outside and average temperature values from my Novelan heatpump and the indoor temperatures from my Berker KNX sensors. In summer the ventilation runs at night to reduce the indoor temperature. In spring and autumn, when the temperatures are very different, I try to decide automatically between inside, outside and average temperature whether to cool or not to lower the inside temperature too much but still have good air quality. And all of these different in living rooms and sleeping rooms. After two years of continuous development I am very satisfied with the following at the moment.
Some other features:
- closed roller shutters after sunset
- disable the doorbell when the childrens are sleeping (manually)
- switch off all lights at 2am
- send telegram if the indoor temperature increase over 30 degrees (in case of fire)
- vacation scene with switching lights random, reduce heating to minimum, opens/close roller shutter
- set heatpump mode based on average outside temperature
- integrated my Xiaomi vacuum robot, pihole adblocker, VDR (Video Disc Recorder), Novelan Heatpump, KNX, Fritzbox, Rika pellet stove
And as hardware i use KNX (MDT and Berker), two Raspberry’s, an Google Home Mini, some Sonoff and new 6 Shelly (which are very bad hardware, broke 5 devices after controlling with MQTT). And an old Nexus 7 tablet in the kitchen with Habpanel
My basic ui with own icons and Grafana:
That was only possible with that great openhab community - kudos for that!
Huaba
Hi @adtwomey and rest of users.
As promised i’m posting some pictures.
Heres the complete moisture sensor as it can be seen in the garden
The bottom (=the part that is inside the soil)
And finally the inside (not really “prettyfied”, I will redo it during winter ):
It consists of an arduino on a breakout board, a 433MHz transmitter, a battery charging circuit, the battery and the cables which to to the top come from a solar panel. (200mm x 200mm, 5V, 500mA max)
The code for the arduino:
#include <RCSwitch.h>
#include <avr/sleep.h>
#include <avr/power.h>
#include <avr/wdt.h>
RCSwitch mySwitch = RCSwitch();
byte RFAdress = 1;
uint16_t SupplyVoltage = 0;
uint16_t SensorValue = 0;
uint32_t iWatchDogCounter = 0;
uint32_t iMaxWatchDogCycles = 8; //8 * 8s = 64s = 1min
volatile int toggle = 1;
//unsigned long Telegram;
uint32_t Telegram;
ISR(WDT_vect)
/* Watchdog imer Interrupt Service Routine */
{
if(toggle == 0)
{
toggle = 1;
iWatchDogCounter++; //increase the counter. +1 means +8s;
}
//else
// { Serial.println("WDT Overrun Error!"); }
}
long readVcc()
{
// Read 1.1V reference against AVcc
// set the reference to Vcc and the measurement to the internal 1.1V reference
#if defined(__AVR_ATmega32U4__) || defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
ADMUX = _BV(REFS0) | _BV(MUX4) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#elif defined (__AVR_ATtiny24__) || defined(__AVR_ATtiny44__) || defined(__AVR_ATtiny84__)
ADMUX = _BV(MUX5) | _BV(MUX0) ;
#else
ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
#endif
delay(2); // Wait for Vref to settle
ADCSRA |= _BV(ADSC); // Start conversion
while (bit_is_set(ADCSRA,ADSC)); // measuring
uint8_t low = ADCL; // must read ADCL first - it then locks ADCH
uint8_t high = ADCH; // unlocks both
long result = (high<<8) | low;
result = 1125300L / result; // Calculate Vcc (in mV); 1125300 = 1.1*1023*1000
return result; // Vcc in millivolts
}
uint16_t BatteryLevel()
{
long Battery = readVcc();
//return uint32_t ((Battery*1.0 / iMaxBatteryLevel_mV*1.0)*100);
return uint16_t(Battery);
}
void setup() {
// put your setup code here, to run once:
pinMode(11, OUTPUT); //Data output for 433MHz
pinMode(12, OUTPUT); //VCC Output for RF and Analog Sensor
mySwitch.enableTransmit(11);
mySwitch.setRepeatTransmit(4);
Serial.begin(9600);
Serial.println("Board has been reset");
/* Setup des Watchdog Timers */
MCUSR &= ~(1<<WDRF); /* WDT reset flag loeschen */
WDTCSR |= (1<<WDCE) | (1<<WDE); /* WDCE setzen, Zugriff auf Presclaler etc. */
WDTCSR = 1<<WDP0 | 1<<WDP3; /* Prescaler auf 8.0 s */
WDTCSR |= 1<<WDIE; /* WDT Interrupt freigeben */
delay(100);
/* Send data after booting up */
SendData();
}
void SendData()
{
//first, power up the sensors:
digitalWrite(12, HIGH);
delay(50);
SensorValue = GetSensorData();
SupplyVoltage = BatteryLevel();
/* Supply Voltage goas at maximum to 5000 which would be 5000mV, so we modulate the node ID into it 15000 --> the first three bits of the telegram are the ID, */
Telegram = (uint32_t)SupplyVoltage + ((uint32_t)RFAdress << 13) + ((uint32_t)SensorValue << 16);
//Telegram = RFAdress + ((uint32_t)SupplyVoltage << 8) + ((uint32_t)SensorValue << 16);
//sometimes it is needed to send the data multiple times
mySwitch.send(Telegram,32); //was 24
delay(20);
mySwitch.send(Telegram,32); //was 24
delay(20);
mySwitch.send(Telegram,32); //was 24
delay(20);
Serial.println(Telegram);
Serial.println(SupplyVoltage);
Serial.println(SensorValue);
digitalWrite(12, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
if(toggle)
{
//delay(100);
toggle = 0;
if(iWatchDogCounter >= iMaxWatchDogCycles)
{
iWatchDogCounter = 0;
/*SensorValue=GetSensorData();
BatteryPercent=BatteryLevel();*/
SendData();
}
delay(50);
sleep();
}
}
void sleep(void)
{
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
sleep_mode();
/** Das Programm läuft ab hier nach dem Aufwachen weiter. **/
/** Es wird immer zuerst der Schlafmodus disabled. **/
sleep_disable();
delay(100);
power_all_enable();
}
uint16_t GetSensorData()
{
return analogRead(1);
}
Basically it uses the watchdog timer to wake up the arduino from deep sleep.
Since the maximum value for the watchdog timer is 82, i’m looping this and once i’m exceeding the maximum watchdog cycles (in this code is approx 1minute), i take readings from the sensor and the supply voltage and send the readings modulated into a 32bit value over 433MHz.
In order to avoid problems with 433MHz, i’m sending those telegrams 5times.
I thought that was a good idea but it seems to crash my ESP32 every now and then…something that I will revise during winter as well.
But the sensor itself was running the whole summer without any issues.
Each telegram has also a unique ID, this shall be used in the future to have more of those sensors
Nicely
I noticed a lot of people going a diy route with electronics. I am amateur in electronics (although ironically, I finished school for it), but I do some MySensors/artuidno stuff, and I built a helping hand to ease the process.
Filter has a active coal filter behind it, and light is dimmable by touch.
It has a built in power for light and fan, from glued old powerbank
Helping hand tool is often looking better then my projects but well…
@mjcumming
Wow the result must be a mess. This is a reminder for us all to think about the corner cases especially when it comes to integration with critical devices. Could you share what valve controller are you using, and does it works reliably?
Thanks,
I purposefully used a normally open valve. The security was setup to turn off the water valve when armed in vacation mode. I wanted a NO valve in case there was a problem with the security system (ie a prolonged power failure) and I wasn’t around to help manually turn the valve on.
Hey Huaba,
wow, you seem to have a lot of integration in OH. I like that! You may share information about the functionality and rules behind it
Cheers
I have basically the following systems:
Homematic
Philips Hue
iCloud (iPhone GPS…)
Fritzbox
Samsung TV
OH is running on a Raspberry Pi.
With these components I control the temperature when we’re at home and absent, the lights, and the rollershutters will follow soon.
Here is how my basic UI looks like:
And in our kitchen I have an old iPad 2 running HABpanel:
After seeing here some pictures of HABpanel, I think I might change my colors or something, but that’s not the first priority
Also, I created the house in 3D using Sweet Home 3D. Unfortunately it doesn’t run on the old iPad, but does very well on a computer
It’s integrated in HABpanel.
Here’s how it can be done: (Proof-of-concept) Interactive WebGL view with HABPanel & Sweet Home 3D!
I have some things left to do, but after more than a year of building rules and UIs I’m pretty happy with it so far
Cheers,
Viktor
Hey Bartus.
i use nodemcu boards for most of my products. I currently have one running my verical blinds using servos, and hall effect sensors.
I get random restarts, usually every couple of minutes. some times it will go hours without a restart. I have worked around this in software to update the location of the blinds when it restarts, but I was wondering if you knew what would cause this. You mentioned a shottky diode between RST and D0.
I also use GPIO 0,2,15 as i dont have enough IO pins to not use them, But this is only an issue when the board starts. Should cause issues during running.
Ive read about watchdog timers can cause issues and restarts. I dont have any delays in my code. My loop just continues and runs if there is a mqtt message.
Any info would be brilliant if you have it.
Nice plan Vradatta, what elements / sensors / actors you are using for the lights and fans? Thx