4 Commits

Author SHA1 Message Date
yehor
727906d461 Update theme
All checks were successful
Build release image / build (push) Successful in 1m17s
2025-10-07 22:58:30 +03:00
yehor
756312021a Add discussion link
All checks were successful
Build release image / build (push) Successful in 1m26s
2025-10-07 21:05:49 +03:00
yehor
d6d3cd6d00 Fix blog table of contents styles 2025-10-07 20:21:25 +03:00
yehor
6d43975f0b Fix typo 2025-10-07 14:53:26 +03:00
23 changed files with 137 additions and 31 deletions

View File

@@ -116,4 +116,6 @@ binary_sensor:
pin:
number: D5
mode: INPUT
```
```
<BlogDiscussions/>

View File

@@ -49,4 +49,6 @@ Now we need to create a handler of the Aqara button in `automations.yaml`:
- data:
message: "Someone near your front door"
service: notify.push
```
```
<BlogDiscussions/>

View File

@@ -134,4 +134,6 @@ Now we can rely on that group’s state to check if there is nobody home. I’ve
service: notify.push
```
That is all for now. Thanks for reading.
That is all for now. Thanks for reading.
<BlogDiscussions/>

View File

@@ -208,4 +208,6 @@ Also, this automation should be able to run in parallel to make it possible to h
```yaml
mode: parallel
max: 10
```
```
<BlogDiscussions/>

View File

@@ -40,4 +40,6 @@ binary_sensor:
friendly_name: "Bed occupancy"
device_class: occupancy
value_template: "{{is_state('binary_sensor.bed_occupancy_door_side', 'off') or is_state('binary_sensor.bed_occupancy_window_side', 'off')}}"
```
```
<BlogDiscussions/>

View File

@@ -42,4 +42,6 @@ action:
![Parsing action](parse_action.png)
Here we are checking for the `engine is off` text in incoming SMS to perform some action. For example, to set the value of some `input_boolean`.
Here we are checking for the `engine is off` text in incoming SMS to perform some action. For example, to set the value of some `input_boolean`.
<BlogDiscussions/>

View File

@@ -105,3 +105,5 @@ switch:
```
That’s it for today. Thanks for reading.
<BlogDiscussions/>

View File

@@ -237,4 +237,6 @@ Before placing our power supply inside the TV we need to make sure it is isolate
So the overall picture is looking like this:
![](overview.png)
![](overview.png)
<BlogDiscussions/>

View File

@@ -85,4 +85,6 @@ Compile, flash, open logs and start firing into our device with your IR remote.
[17:34:51][D][remote.samsung:055]: Received Samsung: data=0xE0E020DF
```
You can now use this data with the ESPHome [Remote Transmitter](https://esphome.io/components/remote_transmitter.html) component to build, for example, something like [this](/2021-01-13-building-wifi-ir-remote-control-for-any-tv-with-esp8266-wemos-d1-mini-and-esphome/index.md).
You can now use this data with the ESPHome [Remote Transmitter](https://esphome.io/components/remote_transmitter.html) component to build, for example, something like [this](/2021-01-13-building-wifi-ir-remote-control-for-any-tv-with-esp8266-wemos-d1-mini-and-esphome/index.md).
<BlogDiscussions/>

View File

@@ -120,4 +120,6 @@ Decreasing the volume action is the same, but with negative `target`:
service: esphome.amplifier_set_volume
data:
target: -50
```
```
<BlogDiscussions/>

View File

@@ -119,4 +119,6 @@ You'll get an email notification on the address added here when there will be ti
After certificate generation, we should open Settings on the same Certificates tab, find our domain service, and choose the newly generated certificate for it.
That's it!
That's it!
<BlogDiscussions/>

View File

@@ -43,4 +43,6 @@ In your Home Assistant go to _Settings -> Devices & services_ and click the _"Ad
In the configuration window that appeared you need to set your NAS's local IP address as a _Host_ and leave the _Port_ number unchanged.
Hit _Submit_ and you are done.
Hit _Submit_ and you are done.
<BlogDiscussions/>

View File

@@ -54,4 +54,6 @@ The authorization header should have the next format: `PVEAPIToken=<proxmox user
You can use `shutdown` or `reboot` as a `command`.
After restarting Home Assistant you will have a new service available. In our example, it would be `rest_command.spacedock_one_shutdown`. Calling it will do the trick.
After restarting Home Assistant you will have a new service available. In our example, it would be `rest_command.spacedock_one_shutdown`. Calling it will do the trick.
<BlogDiscussions/>

View File

@@ -105,4 +105,6 @@ And up it back with a system service, also enabling it:
sudo systemctl start wg-quick@wg0 && sudo systemctl enable wg-quick@wg0
```
Further interface control should be performed through `systemctl` as well like `systemctrl stop`, `systemctl restart` or `systemctl status`.
Further interface control should be performed through `systemctl` as well like `systemctrl stop`, `systemctl restart` or `systemctl status`.
<BlogDiscussions/>

View File

@@ -98,4 +98,6 @@ Cron job line to add:
```
@reboot sleep 30s && /usr/sbin/etherwake -i vmbr0 <mac_address>
```
```
<BlogDiscussions/>

View File

@@ -70,7 +70,7 @@ iface vmbr1 inet static
Let's see what's going on in here.
For the containers that don't require a public IP, I choose `vbmr1` bridge, set some IP from the local IP range (192.168.50.x), and use the local IP as a gateway:
For the containers that don't require a public IP, I choose `vbmr1` bridge, set some IP from the local IP range (192.168.50.x), and use host local IP as a gateway:
![LXC local network](vmbr1.png)
@@ -182,4 +182,6 @@ After installing it and configuring it to use [Backblaze S3 storage](https://pbs
## Conclusion
Have no idea why everyone wants to write a conclusion for each post nowadays. It looks like a forced conclusion to a school physics problem in most cases: "Solving this problem of moving trains, we found out that trains can move".
Have a nice tinkering.
Have a nice tinkering.
<BlogDiscussions/>

View File

@@ -102,7 +102,7 @@ const config = {
],
},
footer: {
style: 'dark',
style: 'light',
links: [
{
title: 'This site sections:',

View File

@@ -1,6 +1,6 @@
{
"name": "yevi-org",
"version": "0.2.2",
"version": "0.4.0",
"private": true,
"scripts": {
"docusaurus": "docusaurus",

View File

@@ -0,0 +1,16 @@
import styles from './styles.module.css';
export default function BlogDiscussions() {
const Svg = require('@site/static/icons/matrix.svg').default;
return (
<section className={styles.blogDiscussions}>
<a className={styles.blogDiscussions_container} href="https://matrix.to/#/%23yevi-org-pub:vi.place" target='_blank'>
<Svg fill="currentColor" className={styles.icon} role="img" />
<span className={styles.linkText}>Join discussion at Matrix</span>
</a>
</section>
);
}

View File

@@ -0,0 +1,27 @@
.blogDiscussions {
display: flex;
flex-direction: row;
justify-content: center;
padding: 1rem 0;
}
.blogDiscussions_container {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: center;
align-items: center;
}
.linkText {
width: 12rem;
}
.icon {
width: 3rem;
height: 3rem;
}
.icon path {
fill: var(--ifm-link-color) !important;
}

View File

@@ -9,15 +9,31 @@
padding-bottom: 1rem;
}
@media (max-width: 996px) {
.featureBlock {
--ifm-col-width: 50%;
}
}
@media (max-width: 500px) {
.featureBlock {
--ifm-col-width: 100%;
}
}
.featureSvg {
height: 100px;
width: 100px;
height: 60px;
width: 60px;
}
.featureSvg path {
fill: var(--ifm-link-color) !important;
}
.featureBlock:hover .featureSvg path {
opacity: 0.7;
}
.featureLink {
display: contents;
color: unset;
@@ -31,4 +47,8 @@
.featureLink:visited {
text-decoration: none;
color: unset;
}
.featureLink p {
color: var(--ifm-color-secondary-contrast-foreground);
}

View File

@@ -16,7 +16,13 @@
--ifm-code-font-size: 95%;
--docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);
--ifm-footer-link-hover-color: #b07ab0;
--ifm-link-color: var(--ifm-color-primary-lightest)
--ifm-link-color: var(--ifm-color-primary-lightest);
--ifm-global-shadow-lw: 0 1px 2px 0 #541d5428;
}
.hero--primary {
--ifm-hero-background-color: transparent;
--ifm-hero-text-color: var(--ifm-font-color-base);
}
/* For readability concerns, you should choose a lighter palette in dark mode. */
@@ -32,14 +38,6 @@
--ifm-link-color: var(--ifm-color-primary-darker);
}
@media (max-width: 996px) {
.col {
--ifm-col-width: 50%;
}
}
@media (max-width: 500px) {
.col {
--ifm-col-width: 100%;
}
.hero {
border-bottom: 2px solid var(--ifm-color-primary-opaque-2);
}

View File

@@ -0,0 +1,13 @@
import React from 'react';
// Import the original mapper
import MDXComponents from '@theme-original/MDXComponents';
//Import custom component
import BlogDiscussions from '@site/src/components/BlogDiscussions';
export default {
// Re-use the default mapping
...MDXComponents,
// Map the "<BlogDiscussions>" tag to our BlogDiscussions component
// `BlogDiscussions` will receive all props that were passed to `<BlogDiscussions>` in MDX
BlogDiscussions,
};