Skip to content

Instantly share code, notes, and snippets.

@AdamNaj
AdamNaj / configuration.yaml
Last active Jul 3, 2020
Z Wave Graph for Home Assistant
View configuration.yaml
panel_custom:
- name: zwavegraph2
sidebar_title: Z-Wave Graph
sidebar_icon: mdi:access-point-network
url_path: zwave
@AdamNaj
AdamNaj / Find-AbandonedEntities.ps1
Last active Apr 20, 2020
How to check if Z-Wave node is Secure or Plus version based on QZW Config file.
View Find-AbandonedEntities.ps1
# Combine the functionality of Find-ChattyZwaveDevices and Get-ZwaveNodeSecureOrPlus
# Executing this script can take a few minutes debending on the speed of the network and the size of your OZW log.
# Path to your Home Assistant shared folder - mapped drive on your windows machine
$haPath = "I:"
# Get the content of the Open Z-Wave cache file
Write-Progress -Activity "Reading Configuration"
[xml]$ozwCfg = Get-Content "$haPath\zwcfg_*.xml"
# Get valid zwave IDs
@AdamNaj
AdamNaj / Get-VariantRoots.ps1
Created Jun 16, 2019
Ret Rendering Variant Roots for all sites
View Get-VariantRoots.ps1
Set-HostProperty -HostWidth 5000
$roots = @()+[Sitecore.Sites.SiteManager]::GetSites() | ? { $_.Properties['IsSxaSite'] } | % { $_.Properties['rootPath'] };
foreach ($root in $roots) {
$site = New-Object -TypeName PSCustomObject
Add-Member -InputObject $site -Name 'path' -Value $root -MemberType NoteProperty
$variants = New-Object -TypeName PSCustomObject
Add-Member -InputObject $site -Name 'variants' -Value $variants -MemberType NoteProperty
$variantFolders = gci "master:$($root)/Presentation/Rendering Variants" | select Name, @{Name = "Path"; Expression={$_.paths.Path}}
foreach($variantFolder in $variantFolders){
@AdamNaj
AdamNaj / Get-TaggedItems.ps1
Created Nov 10, 2018
Querying Habitat Legal Site for Tags
View Get-TaggedItems.ps1
gci -path 'master:\content\Habitat sites\Habitat Legal\Home\News' |
%{ [PSCustomObject]@{ Name=&{$_.Title};
Author=&{@( $_.PSFields.Author.Items |
%{ gi master: -id $_ } |
%{ "$($_._Name) ($($_.JobTitle))" }) -join ", "};
Tags=&{@( $_.PSFields.SxaTags.Items |
%{ gi master: -id $_ } |
%{ $_.Name }) -join ", "}
} } | ft -prop @{name="Name"; width=50; Expression={$_.Name}},
@{name="Author"; width=60; Expression={$_.Author}}, Tags
@AdamNaj
AdamNaj / Import.ps1
Created Nov 7, 2018
Wordpress XML (to SXA) import script (messy output)
View Import.ps1
$xmlPath = "$AppPath\sugcon.xml"
$pageTemplate = "Project/Community/Page"
$siteHome = "master:\content\Community\SUGCON\Home"
$sitepath = "master:\content\Community\SUGCON"
[string[]]$content = get-content $xmlPath
[xml]$xml = $content
$pages = $xml.rss.channel.item | %{ [PSCustomObject]@{
@AdamNaj
AdamNaj / Set-ItemFieldToExternalLink.ps1
Created Oct 26, 2015
Set item field to external url
View Set-ItemFieldToExternalLink.ps1
@AdamNaj
AdamNaj / Clone Site.ps1
Created Jun 13, 2018
Modify SXA "Clone Site" script to be able to clone sites with Security set up on them.
View Clone Site.ps1
# Open the following item:
# /sitecore/system/Modules/PowerShell/Script Library/SXA/SXA - Multisite/Content Editor/Context Menu/Clone Site
# inside the try{ } clause wrap its content with:
New-UsingBlock(New-Object -TypeName "Sitecore.SecurityModel.SecurityDisabler"){
# all code that was inside the try clause before - goes here
}
@AdamNaj
AdamNaj / Convert-EventsToSearchable.ps1
Created Sep 15, 2017
Better Events List Script - Convert SXA Events templates into searchable items
View Convert-EventsToSearchable.ps1
$tenantTemplatesPath = "master:\templates\Project\Showcase"
$sitePath = "master:\content\Showcase\int"
function Assert-FeatureTemplateInProject {
[CmdletBinding()]
param(
[parameter(Mandatory=$true)]
[String[]] $TenantTemplateFolder,
[parameter(Mandatory=$true)]
@AdamNaj
AdamNaj / Renderings.ps1
Created Jun 23, 2014
Rendering manipulation in PowerShell for Sitecore
View Renderings.ps1
$item = get-item master:\content\Demo\Int\Home
$device =Get-Device -Default
$contentDataSource = get-item master:\content\Demo\Int\Home\about-us\employee-stories\adam-najmanowicz
$ImageDataSource = get-item master:\content\Demo\Int\Data\Images\d56cf7e777a2496aa6489a7bffc03539
$rendering = get-item master:\layout\Sublayouts\ZenGarden\Basic\Content
Add-Rendering -Item $item -Device $device -Rendering $rendering -Placeholder main -Parameter @{FieldName ="Title"} -DataSource $contentDataSource
$rendering = get-item master:\layout\Sublayouts\ZenGarden\Basic\Image
Add-Rendering -Item $item -Device $device -Rendering $rendering -Placeholder main -DataSource $ImageDataSource
$rendering = get-item master:\layout\Sublayouts\ZenGarden\Basic\Subtitle
@AdamNaj
AdamNaj / Add-ProjectSpecificComponentDatasource.ps1
Last active Sep 29, 2017
Create project specific datasource templates for your SXA tenant so you can extend them with custom fields - Promo on Showcase example
View Add-ProjectSpecificComponentDatasource.ps1
###### user settings start here
# Path to the tenant that you want to update
$tenantTemplatesPath = "master:\templates\Project\Showcase"
# Site that should be upgraded to the new template - ise asterisk to upgrade multiple sites.
$sitePath = "master:\content\Showcase\*"
# Path to the component for which you want to introduce your own data source
$componentPath = 'master:\layout\Renderings\Feature\Experience Accelerator\Page Content\Promo'
You can’t perform that action at this time.